Der Martin: Login-Script

Beitrag lesen

n'Abend!

EDIT_USER.PHP

<?

Autsch. Verwende bitte immer die Langform <?php anstatt der Kurzschreibweise. Die short_open_tags sind auf vielen Servern nicht zulässig, und im Zusammenhang mit XML machen sie gelegentlich sogar Probleme.

if ($edit)

Autsch. Noch lauter.
Verwende IMMER die superglobalen Arrays $_GET[] oder $_POST[], um auf Formulardaten zuzugreifen, anstatt dich auf register_globals zu verlassen, das leider immer noch bei manchen Hostern aktiviert ist.
Außerdem übernimmst du hier ungeprüft jeden Unsinn, der als Eingabe ankommt. Das ist sehr leichtsinnig!

{
$handler = fopen("user.txt","w");
if(fputs($handler, $textfile)) {
$gespeichert = 1;}
fclose($handler);
}

Ob das Schreiben der Datei erfolgreich war, prüfst du hier auch nicht.

<HEAD>
   </HEAD>

Fehler: Das title-Element fehlt.
Oder hast du das nur hier im Posting weggelassen?

<TEXTAREA NAME="textfile" COLS="40" ROWS="15"><?readfile("user.txt");?></TEXTAREA>

Hier gibst du auch wieder den Inhalt von user.txt ohne jegliche Prüfung als Text aus. Wenn innerhalb der user.txt ausgerechnet mal die Zeichenfolge </textarea> vorkommen sollte, ist dein gesamtes HTML-Dokument versaut.

<input type="button" onclick="javascript:location.reload()" value="Aktualisieren">

Wozu das? Jeder Browser verfügt über die Möglichkeit, die angezeigte Seite neu zu laden. Das brauchst du nicht noch einmal nachzubilden.

Könntet ihr mir zeigen, was ich falsch gemacht habe und es eventuell einbauen, damit ich es besser nachvollziehen kann!?

Stelle dein error_reporting auf E_ALL, falls das noch nicht geschehen ist. Kontrolliere doch mal, was vor und nach dem Aufruf von edit_user.php tatsächlich in der Datei user.txt steht. Werden die übergebenen Daten überhaupt eingetragen und gespeichert? Kontrolliere die Rückgabewerte der Funktionen, die du verwendest, um festzustellen, ob sie erfolgreich waren oder nicht.

So long,
 Martin

--
Der Alptraum jedes Computers:
"Mir war, als hätte ich gerade eine 2 gesehen."