Hallo,
ich muss diese Woche ein Homepageprojekt für die Schule fertig machen.
Wollte eigentlich nur ein Beispielskript aus dem Internet nehmen.
Leider klappt das nicht. Der Code besteht aus 4 Dateien.
Login.php; Logout.php;sessionhelpers.ic.php und soll-geschuetzt-werden.php
Wenn ich die login.php aufrufe, kommt die Fehlermeldung(Die Eingabefelder werden trotzdem unterhalb angezeigt):
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Wenn ich mich mit den richtigen Daten einlogge, dann kommt die Meldung(Die eigentliche Seite wird trotzdem unter der Fehlermeldung angezeigt):
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Und wenn ich die Soll-geschuetzt-werden.php aufrufen will kommt die Fehlermeldung:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\login2\soll-geschuetzt-werden.php:9) in C:\xampp\htdocs\login2\soll-geschuetzt-werden.php on line 11
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\login2\soll-geschuetzt-werden.php:9) in C:\xampp\htdocs\login2\soll-geschuetzt-werden.php on line 11
Sie sind nicht eingeloggt.
Anmelden
Der Inhalt der folgenden Dateien:
Login.php
logout.php:
sessionhelpers.inc.php:
soll-geschuetzt-werden.php:
ich muss diese Woche ein Homepageprojekt für die Schule fertig machen.
Wollte eigentlich nur ein Beispielskript aus dem Internet nehmen.
Leider klappt das nicht. Der Code besteht aus 4 Dateien.
Login.php; Logout.php;sessionhelpers.ic.php und soll-geschuetzt-werden.php
Wenn ich die login.php aufrufe, kommt die Fehlermeldung(Die Eingabefelder werden trotzdem unterhalb angezeigt):
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Wenn ich mich mit den richtigen Daten einlogge, dann kommt die Meldung(Die eigentliche Seite wird trotzdem unter der Fehlermeldung angezeigt):
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\login2\login.php:6) in C:\xampp\htdocs\login2\login.php on line 8
Und wenn ich die Soll-geschuetzt-werden.php aufrufen will kommt die Fehlermeldung:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\login2\soll-geschuetzt-werden.php:9) in C:\xampp\htdocs\login2\soll-geschuetzt-werden.php on line 11
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\login2\soll-geschuetzt-werden.php:9) in C:\xampp\htdocs\login2\soll-geschuetzt-werden.php on line 11
Sie sind nicht eingeloggt.
Anmelden
Der Inhalt der folgenden Dateien:
Login.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<?php
// error_reporting(0);
session_start();
include_once('sessionhelpers.inc.php');
if ( isset($_POST['login']) ) {
$userid = check_user($_POST['username'], $_POST['userpass']);
if ( $userid ) {
login($userid);
} else {
echo '<p>Ihre Anmeldedaten waren nicht korrekt!</p>';
}
}
if ( !logged_in() ) {
echo <<<END
<form method="post" action="login.php">
<label>Benutzername:</label> <input name="username" type="text"><br />
<label>Passwort:</label> <input name="userpass" type="password" id="userpass"><br />
<input name="login" type="submit" id="login" value="Einloggen">
</form>
END;
} else {
echo '<p><a href="soll-geschuetzt-werden.php">News</a></p>';
echo '<p><a href="logout.php">Ausloggen</a></p>';
}
?>
</head>
<body>
</body>
</html>
logout.php:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php
// error_reporting(0);
session_start();
include_once('sessionhelpers.inc.php');
echo '<p>Sie sind ';
if ( !logged_in() ) {
echo 'nicht ';
}
echo 'eingeloggt.</p>';
logout();
echo '<p>Sie sind ';
if ( !logged_in() ) {
echo 'nicht ';
}
echo 'eingeloggt.</p>';
echo '<p><a href="login.php">Einloggen</a></p>';
?>
</body>
</html>
sessionhelpers.inc.php:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php
/**
* @return void
*/
function connect () {
$con = mysql_connect('localhost', 'root') or exit(mysql_error());
mysql_select_db('beuth', $con) or exit(mysql_error());
}
/**
* @param string $name
* @param string $pass
* @return boolean
*/
function check_user ( $name, $pass ) {
// magic quotes anpassen
if ( get_magic_quotes_gpc() ) {
$name = stripslashes($name);
$pass = stripslashes($pass);
}
// escapen von \x00, \n, \r, \, ', " und \x1a
$name = mysql_real_escape_string($name);
// escapen von % und _
$name = str_replace('%', '\%', $name);
$name = str_replace('_', '\_', $name);
$sql = 'SELECT UserId FROM users WHERE UserName = \'' . $name . '\' AND UserPass=\'' . md5($pass) . '\'';
if ( !$result = mysql_query($sql) ) {
exit(mysql_error());
}
if ( mysql_num_rows($result) == 1 ) {
$user = mysql_fetch_assoc($result);
return ( $user['UserId'] );
} else {
return ( false );
}
}
/**
* @param int $userid
* @return void
*/
function login ( $userid ) {
$sql = 'UPDATE users SET UserSession = \'' . session_id() . '\' WHERE UserId = ' . ((int)$userid);
if ( !mysql_query($sql) ) {
exit(mysql_error());
}
}
/**
* @return boolean
*/
function logged_in () {
$sql = 'SELECT UserId FROM users WHERE UserSession = \'' . session_id() . '\'';
if ( !$result = mysql_query($sql) ) {
exit(mysql_error());
}
return (mysql_num_rows($result) == 1);
}
/**
* @return void
*/
function logout () {
$sql = 'UPDATE users SET UserSession = NULL WHERE UserSession = \'' . session_id() . '\'';
if ( mysql_query($sql) ) {
exit(mysql_error());
}
}
connect();
?>
</body>
</html>
soll-geschuetzt-werden.php:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php
// error_reporting(0);
session_start();
include_once('sessionhelpers.inc.php');
echo 'Sie sind ';
if ( !logged_in() ) {
echo 'nicht ';
}
echo 'eingeloggt.<p />';
if ( !logged_in() ) {
echo '<p><a href="login.php">Anmelden</a></p>';
}
if ( logged_in() ) {
echo '<p>Geschützter Bereich</p>';
echo '<p><a href="logout.php">Ausloggen</a></p>';
}
?>
</body>
</html>