Hallo,
ich schreibe gerade mein "erstes" Login Script und habe urplötzlich eine für mich nicht nach vollziehbare Fehlermeldung. Er behauptet er hätte schon was gesendet, aber ich wüsste nicht wo. Die zeigt er mir erst nach dem abschicken meiner Formulardaten an. Ich verstehe es nicht in frühren Versionen hat es tadellos funktioniert.
Fehlermeldung:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Programme\XAMPP\htdocs\root\login\index.php:1) in C:\Programme\XAMPP\htdocs\root\login\index.php on line 20
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programme\XAMPP\htdocs\root\login\index.php:1) in C:\Programme\XAMPP\htdocs\root\login\index.php on line 20
Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\XAMPP\htdocs\root\login\index.php:1) in C:\Programme\XAMPP\htdocs\root\login\index.php on line 32
Code:
<?php
include "inc/global.php";
if($_POST['send'] && ($_POST['username'] && $_POST['passwort']))
{
$sql = "SELECT * FROM user WHERE name='".$_POST['username']."' AND passwort=md5('".$_POST['passwort']."'";
$ergebnis = mysql_query($sql) OR die(mysql_error("Fehler! Es konnte keine Verbindung hergestellt werden!");
if(mysql_num_rows($ergebnis) == 1)
{
$row = mysql_fetch_row($ergebnis);
if($row[4] == 0) // Prüft ob der User gesperrt ist
{
$sql = "UPDATE user SET eingeloggt='1' WHERE name='".$_POST['username']."' AND passwort=md5('".$_POST['passwort']."'";
mysql_query($sql) OR die(mysql_error("Fehler! Es konnte keine Verbindung hergestellt werden!");
session_start();
$_SESSION['username'] = $_POST['username'];
$_SESSION['passwort'] = $_POST['passwort'];
if($_POST['cookie'] == true)
{
// Cookie setzen
setcookie("username",$_SESSION['username'],strtotime(" +1 year");
setcookie("passwort",$_SESSION['passwort'],strtotime(" +1 year");
}
header("Location: test.php"
exit;
}
else
{
echo "<span style=\"color: RED;\">Ihr Account wurde gesperrt!</span>";
}
}
else
{
echo "<span style=\"color: RED;\">Ihre Daten sind nicht korrekt.</span>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index</title>
<link rel="stylesheet" href="css/global.css" type="text/css" />
</head>
<body>
<form action="index.php" method="post">
<fieldset style="width:245px;">
<legend>Login</legend>
<label>Username:</label>
<input name="username" type="text" size="20" value="Test" />
<br />
<label>Passwort:</label>
<input name="passwort" type="password" size="20" value="test" />
<br />
<input name="cookie" type="checkbox" value="" />Angemeldet bleiben? (Cookie)
<br />
<input name="send" type="submit" value="Senden" /> <input name="reset" type="reset" value="Zurücksetzen" />
<br />
<a name="" href="regestrieren.php" title="Regestrieren">Regestrieren</a> | <a name="" href="" title="Passwort vergessen?">Passwort vergessen?</a>
</fieldset>
</form>
</body>
</html>
Ich hoffe ihr könnt mir sagen wo es dran liegt, weil ich habe auch kein überflüssiges Lerzeichen oder so entdeckt oder ich bin einfach nur blind.
Gruß, user-282
Don't Panic! - Die Antwort lautet:
42