Logout-Fehlermeldung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Logout-Fehlermeldung

    Hallo, habe ein Problem.
    Es wird die Fehlermeldung:
    [COLOR=#C00000] Notice: Undefined offset: 1 in C:\xampp\htdocs\xampp\....\login.php on line 67[/COLOR]
    [COLOR=#C00000] Zugriff verweigert Zurück, bitte erst einloggen![/COLOR]
    angezeigt!


    Code:


    session_start();
    $username = $_POST["username"];
    $passwort = $_POST["password"];
    $passwort = md5($passwort);
    $log=0;
    header ( 'content-type: text/html; charset=utf-8' );

    $userdatei = fopen ("user.txt","r");
    while (!feof($userdatei))
    {
    $zeile = fgets($userdatei,500);
    $userdata = explode("|", $zeile);



    session_start();
    $username = $_POST["username"];
    $passwort = $_POST["password"];
    $passwort = md5($passwort);
    $log=0;
    header ( 'content-type: text/html; charset=utf-8' );

    $userdatei = fopen ("user.txt","r");
    while (!feof($userdatei))
    {
    $zeile = fgets($userdatei,500);
    $userdata = explode("|", $zeile);

    if ($userdata[0]==$username and $passwort==trim($userdata[1]))
    {
    $_SESSION['username'] = $username;
    echo "Login war erfolgreich. <a href=\"yyyy.inc.php\">Weiter zum Downloaden</a>";
    $log = 1;
    }
    }
    fclose($userdatei);

    if ($log==0)
    {
    echo "Zugriff verweigert <a href=\"xxxx.php\">Zurück, bitte erst einloggen!</a>";
    }

    {
    $_SESSION['username'] = $username;
    echo "Login war erfolgreich. <a href=\"yyyy.inc.php\">Weiter zum Downloaden</a>";
    $log = 1;
    }
    }
    fclose($userdatei);

    if ($log==0)
    {
    echo "Zugriff verweigert <a href=\"xxxx.php\">Zurück, bitte erst einloggen!</a>";
    }



    Bemerkung:
    Zeile 67 ist die if ($userdata[0]==$username and $passwort==trim($userdata[1]))

    Hat da einer eine Idee? ( die 1 habe ich schon auf 0 gesetzt, dann kam keine Fehlermeldung, aber es konnte sich auch kein Nutzer mehr anmelden)
    Danke für die Mühe

  • #2
    Offensichtlich gibt es an der Stelle (manchmal) kein $userdata[1] !
    Warum das so ist, können wir von hier aus nicht sehen.
    Wir werden alle sterben

    Kommentar


    • #3
      Hi hugh,

      ist das ernsthaft dein Quellcode, oder bist du mit Copy & Paste auf Kriegsfuß?

      Lass' dir nach dieser Zeile . . .

      PHP-Code:
      $userdata explode("|"$zeile); 
      . . . mittels print_r($userdata) mal das Array ausgeben.

      Anbei noch ein kleines Beispiel:
      PHP-Code:
      <?php
      /*
      * Daten aus Formular
      */
      $username 'petra';
      $userpass 'petra';
      $log false;
      $userfile 'user.txt';
      $f fopen($userfile,'r');
      while(
      $row fgets($f)){
       
      $user_arr[] = $row;
      }
      fclose($f);
      foreach(
      $user_arr as $user){
       
      $user explode('|'$user);
       if(
      trim($username) == trim($user[0]) && trim($userpass) == trim($user[1])){
        
      $log true;
        break;
       }
      }
      if(
      $log){
       echo 
      'Hallo '.$user[0].', auch mal wieder da.';
      }else{
            echo 
      'Sorry '.$username.', deine Anmeldedaten sind nicht korrekt.';
            }
      ?>
      Gruß
      Günni

      Kommentar


      • #4
        Danke,
        hatte auf die erste Reaktion schon das "Handtuch" geworfen.
        Auch:
        Habe den Code umgeschrieben und eine neue "Lohin" erstellt.
        Die Geth!
        Vielen Dank

        Kommentar

        Lädt...
        X