Geistige Hohlraum: Fehler in Passwortabfrage

Beitrag lesen

ich habe mit PHP eine einfache Passwortabfrage erstellt. Leider wird anscheinend nur die 1. Zeile der Passwort-Datei ausgelesen.

$filename = "pass.xtx";
  $fp = fopen($filename, "r");
  $file_contents = fread($fp, filesize($filename));
  fclose($fp);

Da gab es mal irgendwas namens readfile().

$i = 0;

while($i <= sizeof($line)) {

Auch schlechter Stil, für gezählte Schleifen gibt es for.

$data_pair = explode(",", $line[$i]);

Hättest Du einfach mal die Schleife näher untersucht oder wenigstens einen Blick in $file_contents geworfen, hättest Du festgestellt, dass sehr wohl alle Zeilen eingelesen werden. Und hättest Du Dir mal angeschaut, was in $data_pair eigentlich drin ist (zum Beispiel mit var_dump()), hättest Du auch nicht fragen müssen, warum man sich nur mit den Daten der ersten Zeile der Passwortdatei einloggen kann.

Und ich gebe Dir noch einen Tipp: Ruft man die Seite direkt, also ohne Formular auf, erhält man auch Zugang. Das Problem liegt hier in der Unterscheidung von !== (nicht identisch, also Wert und Typ verschieden) und != (nicht gleich, nur Wert verschieden).