• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem mit fwrite()

artemis

New member
Hallo ich bins nochmal.

Diesmal liegt mein Problem bei der Funktion fwrite().
Ich wollte mein Login verfahren nun so umschreiben, dass man links aus der website auch nicht öffnen kann solange man sich vorher nicht eingeloggt hat.

Meine Login.php Datei sieht folgendermaßen aus:

PHP:
<?php
 $file = fopen ('login.txt', 'r');
 $korrekt = fgets($file,4000);
 fclose($file);
 
 $newfile = fopen ('daten.txt', 'w');
 rewind($newfile);
 $daten = $_POST['Benutzer'] . "|" . $_POST['Benutzerpasswort'];
 fwrite($newfile, $daten);
 rewind($newfile);
 fclose($newfile);

 if($korrekt == $newfile){

        echo "Ok";


}
 else{

        echo $newfile;

        echo "<br><br>";
        echo  $_POST['Benutzer'] . "|" . $_POST['Benutzerpasswort'];

}
?>

In login.txt sind die daten der benutzer gespeichert und in der Datei Daten.txt steht noch nichts drinnen. Diese will ich als Zwischenspeicher nutzen, der dann sobald man einen neuen link abruft abgefragt wird. Also sollen dort drinnen die eingegebenen Daten gespeichert werden.

Jedoch will mir fwrite() daten.txt nicht umschreiben? Daher der else Teil.
$_POST['Benutzer'] . "|" . $_POST['Benutzerpasswort']; gibt mir den benutzernamen und das Passwort aus.

$newfile jedoch "Resource id #5". WOran kann das liegen? Der ordner und die Datei haben die Rechte 777, somit sollte dies ja eigentlich funktionieren?

Danke schonmal im vorraus.
 
Zuletzt bearbeitet:
$newfile enthält nicht den Inhalt der Datei, die du mit fopen geöffnet hast, sondern lediglich die momentane ID. Wenn du an den Inhalt willst, musst du mit fread arbeiten.

Ich verstehe aber noch nicht so ganz was du damit bezweckst. Wenn sich der Benutzer angemeldet hast, solltest du dies eigentlich in der Session vermerken. Alle Seiten die eine vorherige Anmeldung erfordern, sollten bevor sie Inhalt anzeigen, überprüfen ob der Benutzer angemeldet ist (anhand der Session). Wenn nicht Fehlermeldung oder Loginformular anzeigen.

Hier mal nen Tutorial für nen Loginscript. Arbeitet allerdings mit MySQL; für den grundlegenden Aufbau ist es allerdings egal, woher die Anmeldedaten kommen.
 
ja habe im internet schon eine menge diesbezüglich gegooglet dort wir acuh überall geschrieben, das man das mithilfe von mysql und php machen soll, jedoch habe ich davon überhaupt keine ahnung.

Und ein einfaches tutorial habe ich bisher auch noch nicht gefunden, daher bin ich im Begriff mir evtl ein Buch zu bestellen. Gibt es dort irgendeins was sehr empfehlenswert ist?

Ach ja und wie soll das nun genau mit fread funktionieren?
 
Zurück
Oben