Nach einem bestimmten Text in ner Datei mit PHP suchen?



  • Hallo! Ich möchte betreffenden meinen anderen themen eine "Paswort vergessen" funktion machen. Die Passwörter werden UNVERSCHLÜSSELT in ein geschützes!! verzeichnis in einer text datei abgelegt.

    benutzername|passwort

    Der User soll in einem Formular nur sein Benutzername eingeben.

    Das Skript soll dann nach dem usernmane, hier wäre das benutzername vor dem | suchen. Ist der name gefunden, soll das Passwort NACH dem | und OHNE | an eine Variabe $pass übergeben werden. Den Rest weiss ich selbst.

    Klarer: es steht: dkurz|1111

    Man gibt ein: dkurz
    Der sucht nach "dkurz", "dkurz"|1111 aha, gefunden!

    das | zeichen überspringen und das "1111" an $pass übergeben, OHNE | oder benutzername.

    ich weiss nicht, ob und wie das geht...
    mfg
    Programmer



  • function GetPassword($username)
    {
     $fp = fopen("userlist.txt", "r+");
     $password = "";
     while(!feof ($fp))
     {
      $line = fgets($fp, 1024);
      preg_match("/([^|]*)\|([^|]{13})/",$line,$user_data);
    
      if ($user_data[1] == $username) {
       $password = $user_data[2];
       break;
      }
     }
     fclose ($fp);
     return $password;
    }
    


  • thx... wenn in der Datei
    dkurz|informatik_support@bluewin.ch|12345

    steht. Im Formular muss der User seine Emailadresse und sein Benutzername eingeben.
    Nach dem klick auf Button sollte nach dem benutzernamen, hier dkurz gesucht werden. Wenn gefunden, dann nach der eingebeben Emailadresse suchen. Wenn gefunden, dann das Passwort an die gefundene Emailadresse senden.

    Wenn aber Benutzer oder email nicht gefunden, dann ausgeben auf Bildschirm: "Der Benutzer existiert nicht in unserer Datenbank".

    Leider weiss ich nicht, wie ich des machen soll.. @flenders: eine Idee?



  • function GetPassword($username, $email)
    {
     $fp = fopen("userlist.txt", "r+");
     $password = "";
     while(!feof ($fp))
     {
      $line = fgets($fp, 1024);
      preg_match("/([^|]*)\|([^|]*)\|([^|]*)\|/",$line,$user_data);
    
      if ( ($user_data[1] == $username) && ($user_data[2] == $email) ) {
       $password = $user_data[3];
       break;
      }
     }
     fclose ($fp);
     return $password;
    }
    

    [ Dieser Beitrag wurde am 18.01.2003 um 20:35 Uhr von flenders editiert. ]


Anmelden zum Antworten