tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
767
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    InTocNiCo InTocNiCo ist offline Mitglied
    Registriert seit
    Nov 2003
    Beiträge
    12
    <html>
    <head>
    <title></title>
    <meta name="author" content="Tritschler.Steffen">
    <meta name="generator" content="Ulli Meybohms HTML EDITOR">
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    PHP-Code:
    <?
    $logok 
    FALSE;
    if (isset(
    $_login) and isset($_pass)){
      
    $fp fopen("hans.txt","r+");
      while (
    $line fgets($fp)){
        
    $arr explode (",",$line);
        if ((
    $arr[0] == $_login) and ($arr[1] == $_pass)){
          
    $logok TRUE;
          echo 
    "MOIN :)";
          break;
        }
      }
    }
    if (!
    $logok):
      
    ?>
    Bitte geben sie Namen und Kennwort ein:<p>
    <FORM method=post action="<? echo $PHP_SELF ?>">
    Name: <input type="text" size="30" name="_login"><br>
    Kennwort: <input type="password" size="30"name="_pass"><br>
    <input type="submit" name="submit" value="Anmeldung">
    </FORM>
    <p>
    PHP-Code:
    <?
    endif;
    ?>

    </body>
    </html>

    In der Datei Hans.txt stehen die Benutzer sowie die Passwörter.
    Hans.txt sieht so aus:
    __________________________
    Alf,akjsdfhk
    Dieter,abc
    Benutzer,Passwort
    ...
    __________________________

    Frage:
    Es funktioniert immer nur mit dem letzten Benutzer, also nicht mit Alf oder Dieter. Sondern nur mit Benutzer. Woran kann das liegen? und was muss ich ändern.
     

  2. #2
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Versuch mal das:
    PHP-Code:
    <?php
    if(isset($_POST['user'], $_POST['pass'])) {
        if(
    $lines file("hans.txt")) {
            
    $log false;
            foreach(
    $lines as $value) {
                
    $user preg_replace('/^(.*),.*$/U''\\1'$value);
                
    $pass trim(preg_replace('/^.*,(.*)$/U''\\1'$value));
                if(
    $_POST['user'] == $user AND $_POST['pass'] == $pass) {
                    
    $log true;
                    break;
                }
            }
            if(
    $log) {
                echo 
    "Willkommen im Adminbereich.";
            }
            else {
                echo 
    "Der Login ist fehlgeschlagen!";
            }
        }
        else {
            echo 
    "Öffnen des Files fehlgeschlagen!";
        }
    }
    else {
        echo 
    "Formular";
    }
    ?>
    mfg
    split

    PS: file() gibt ein Array, in dem jede Zeile in einem Element gespeichert wird aus. trim() muss man verwenden, um das durch file() am Zeilenende hinzugefügte "\0", so wie das Leerzeichen nach dem Komma zu entfernern.
    Geändert von split (10.05.04 um 18:13 Uhr)
     

  3. #3
    InTocNiCo InTocNiCo ist offline Mitglied
    Registriert seit
    Nov 2003
    Beiträge
    12
    Danke, hat gefuntzt
     

Ähnliche Themen

  1. Benutzer und Passwort abfrage
    Von ryserstephan im Forum PHP
    Antworten: 6
    Letzter Beitrag: 22.10.07, 15:39
  2. Passwort skript erweitern mit Benutzer
    Von supser im Forum PHP
    Antworten: 45
    Letzter Beitrag: 07.04.07, 10:16
  3. Benutzer root auf mysql mit Passwort?
    Von server im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 31.12.05, 14:01
  4. XP Benutzer Passwort herausfinden
    Von Home hacker im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 01.06.05, 19:59