Daten aus einer txt auslesen

orben

Mitglied
Also für jeden User wird eine txt angelegt (ja ich weis das es mit SQL einfacher ist) inder seine Daten, Passwörter, etc. drinstehen.
Jetzt habe ich aber ein Problem bei meinem Login Script welches das Passwort aus der txt immer falsch ausgibt.

Hier die txt(name der txt ist torben.txt)
PHP:
$torben.1 = "torben"; 
$torben.2 = "torben7"; 
$torben.3 = "torben@web.de";

und hier das Login script

PHP:
<? 

$datei_name = "$namelogin"."$txt"; 
$datei=("$datei_name ");

$name2 = "5";
$passwort2 = "6";

if(!file_exists($datei_name)) {


       echo("Dieser User exestiert nicht. Bitte regestrieren sie sich <a href=\"index.php\">hier</a>");
    }

else {
       if($namelogin == $name2 && $passwort2  == $passwortlogin) 
          { 

               echo("du bist eingelogt");

                         } 
                       else 
                 { 
              echo("Name oder Passwort ist falsch  $name2   $passwort2"); 
                }  
}

?>

mein Problem ist es wird immer angezeigt das name oder Passwort falsch sind obwohl sie richtig sind.Meiner Meinung nach liegt der Fehler beim Auslesen der txt Datei.

Würde mich über Hielfe freuen.
 
echo"Dieser User exestiert nicht. Bitte regestrieren sie sich <a href=\"index.php\">hier</a>";
echo 'du bist eingelogt';
echo "Name oder Passwort ist falsch $name2 $passwort2";
Und wocher nimmst du $namelogin und $txt?
 
Zuletzt bearbeitet:
torben.txt
Code:
torben
torben123
torben@web.de
das Login Formular:
HTML:
<form method="POST" action="login.php">
<input type="text" name="login_name">
<input type="password" name="login_pass">
<input type="submit">
</form>
der Code:
PHP:
$login_name = $_POST['login_name'];
$login_pass = $_POST['login_pass'];

$datei = $login_name."txt"; 

if (!file_exists ($datei)) {
  die ("Dieser User exestiert nicht. Bitte regestrieren sie sich <a href=\"index.php\">hier</a>");
}
else {
  $read = file ($datei); // datei in einen Array einlesen
  if($read[0] == $login_name && $read[1] == $login_pass) { // 0 entspricht der 1. Zeile, 1 der 2ten ...
    echo "du bist eingelogt";
  } 
  else  { 
    echo "Name oder Passwort ist falsch: $login_name $login_pass";
  }  
}
Nicht getestet (!)

@ sparco: Sehr unhilfreiche Kommentare!
 
So habe, dass jetzt so gemacht wie du, es wird aber immer noch name oder Passwort falsch angezeigt.

Hier mein neuer code
PHP:
<? 
$login_name = $_POST['login_name']; 
$login_pass = $_POST['login_pass']; 

$datei = "$login_name".".txt"; 




if(!file_exists($datei)) {


       echo("Dieser User exestiert nicht. Bitte regestrieren sie sich <a href=\"index.php\">hier</a>");
    }

else {
        $read = file ($datei); 
        if($read[0] == $login_name && $login_pass == $read[1] )   {

               echo("du bist eingelogt"); 

                         } 
         else 
                 { 
              echo("Name oder Passwort ist falsch  $read[0]$login_name  $read[1] $login_pass"); 
                }  
}

?>

Du siehst sicher, dass ich die Variaben in das echo für die Fehlernachricht geschriben habe. Das habe ich dazu getan um zu gucken ob die Variablen auch richtig sind und sie sind es.

Ich kann nicht verstehen warum das Script immer falsch läuft obwohl $login_pass = $read[1] und $login_name = $read[0] ist
 
Zurück