kostenloser Webspace werbefrei: lima-city


Passwortscript funzt nicht richtig

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    a****************l

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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?
  4. Autor dieses Themas

    a****************l


    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??
  5. Ein Cookie verändert den Header der Seite.
    Dies kann aber nur passiern, wenn noch kein Inhalt der Seite vorhanden ist.

    Kanns selber kaum erklärn aber du musst, bevor du irgend ein echo(), print() oder sonstiges zum Ausgeben verwendest, die Cookies setzen/auslesen, sonst kommt der Fehler ^^
  6. 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.
  7. Autor dieses Themas

    a****************l

    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
  8. <?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
  9. 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 = ...

  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!