Passwortscript funzt nicht richtig
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufrufen
auslese
browser
code
datum
einloggen
fehler
formular
funktion
header
http
login
output
part
session
setzen
start
test
verwendung
zweck
-
ich habe mir mal einen passwortschutz aus dem tutorial von jahuu ohne mysql erstellt und der funzt net ganz
wenn ich mich eingeloggt hab zeigt der das hier:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/webpages/lima-city/login-test/html/login.php:6) in /home/webpages/lima-city/login-test/html/login.php on line 12
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/webpages/lima-city/login-test/html/login.php:6) in /home/webpages/lima-city/login-test/html/login.php on line 12
OK, Go here
erfüllt zwar seinen zweck aber sieht sch... aus
guckts euch doch an:
http://login-test.lima-city.de
die daten fürs einloggen sind
user: test
passwort: test
weiß einer von euch was da los is???
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
php.net sagt:
Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.
Vielleicht liegt's daran? -
php.net sagt:
Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.
Vielleicht liegt's daran?
kann ich das vielleicht auch auf "normal-deutsch" haben??
-
Du musst den PHP-Code vor den HTML-Header, also am besten an den Anfang der Datei schreiben.
Schon ein einzelnes Leerzeichen vor dem Code kann diesen Fehler verursachen. -
danke ich hab jetzt schon mal verstanden worums geht,
weiß aber nich was ich jetzt machen soll
Der quelltext sieht so aus:
<html> <head> <title>Login</title> </head> <body> <?php $user = $_POST['user']; $pass = $_POST['pass']; //Jetzt kommen Username und Passwort if ($user == 'test' && $pass == 'test') { //Dann wird eine Session gestartet session_start(); //Und ein Wert gesetzt der erkennt ob der User eingeloggt ist oder nicht $_SESSION['logged'] = true; //Dann der Link zur Adminarea echo "OK, Go <a href='zu_schützendes_dokument.php'>here</a><br>"; } else { //Das Login-Formular echo "<form action='$PHP_SELF' method='post'> Username: <input type='text' name='user' /><br /> Passwort: <input type='password' name='pass' /><br /> <input type='submit' value='Anmelden' /> </form>"; } if ($_GET['logout'] == "true" { //Zum Logout login.php?logout=true aufrufen, dann wird die session gelöscht session_start(); session_destroy(); //Und wieder zum Login-Formular header('Location: login.php'); exit; } ?> </body> </html>
wo soll ich was verändern?
mfg -
<?php $user = $_POST['user']; $pass = $_POST['pass']; //Jetzt kommen Username und Passwort if ($user == 'test' && $pass == 'test') { //Dann wird eine Session gestartet session_start(); //Und ein Wert gesetzt der erkennt ob der User eingeloggt ist oder nicht $_SESSION['logged'] = true; //Dann der Link zur Adminarea echo "OK, Go <a href='zu_schützendes_dokument.php'>here</a><br>"; } else { //Das Login-Formular echo "<form action='$PHP_SELF' method='post'> Username: <input type='text' name='user' /> Passwort: <input type='password' name='pass' /> <input type='submit' value='Anmelden' /> </form>"; } if ($_GET['logout'] == "true" { //Zum Logout login.php?logout=true aufrufen, dann wird die session gelöscht session_start(); session_destroy(); //Und wieder zum Login-Formular header('Location: login.php'); exit; } ?> <html> <head> <title>Login</title> </head> <body> </body> </html>
So sollte es funktionieren.
Dieser Code ist jedoch leider nicht HTML-Valid -
Meines Wissens muss die Funktion session_start() im PHP-Skript immer als allererstes stehen, sonst kommt diese Fehlermeldung.
Setze diesen Part doch einfach mal nach <?php und vor $user = ...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage