Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Passwort Vergessen-Skript [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Passwort Vergessen-Skript


 
Marias94
11-02-2010, 21:19 
 
Guten Abend zusammen

Brauche eure Hilfe.
Ich habe ein eigenes Login erstellt. Alle Benutzernamen und deren Passwörter werden in einer user.txt Datei gespeichert. (Die Passwörter sind jeweils md5 verschlüsselt.)

User1|Password1
User2|Password2
User3|Password3

Nun brauche ich einen Code für das Passwort zu ändern. Das heisst es sollte die gesamte Zeile gelöscht werden und mit dem neu gewählten Passwort wieder hinzugefügt werden, sodass der Benutzer einfach sein Benutzername und sein neues Passwort angeben kann.

Habe bereits mehrere Varianten ausprobiert, jedoch habe ich es nicht geschafft, dass pro User eine Zeile verwendet wird. Es wurde dann alles in einer Zeile angezeigt, was eine weitere Passwortänderung verunmöglicht.

Wäre froh um eure Hilfe

 
AmicaNoctis
11-02-2010, 21:35 
 
Hallo,

arbeitest du mit PHP? Wenn ja, kannst du die ganze Datei mit file() zeilenweise einlesen und bekommst ein Array zurück (ein Element pro Zeile). Dieses Array kannst du dann manipulieren wie du willst und mit file_put_contents() wieder in die Datei speichern.

Gruß,

Amica

 
phap
19-02-2010, 16:44 
 
PHP: addcslashes - Manual (http://php.net/manual/de/function.addcslashes.php)
zitat: ...... In PHP sind \0 (NULL), \r (Wagenrücklauf), \n (Neue Zeile), \f (Seitenvorschub), \v (vertikaler Tabulator) und \t (Tabulator).....
Schon etwas später aber vllt hilfts ja noch :)

 
AmicaNoctis
19-02-2010, 16:51 
 
PHP: addcslashes - Manual (http://php.net/manual/de/function.addcslashes.php)
zitat: ...... In PHP sind \0 (NULL), \r (Wagenrücklauf), \n (Neue Zeile), \f (Seitenvorschub), \v (vertikaler Tabulator) und \t (Tabulator).....
Schon etwas später aber vllt hilfts ja noch :)

Und wofür soll das in diesem Falle gut sein? Das ist doch eine reine Textdatei, die nicht evaluiert, in eine DB eingetragen oder aus sonst irgendeinem Grund escaped werden müsste. Außerdem ist addcslashes noch nie eine gute Idee gewesen, um irgendetwas zu escapen.

Gruß,

Amica

 
phap
19-02-2010, 20:17 
 
es ging nicht um die addslash funktion sondern nur um die genannten zeichen der Link ist nur als Quellenangabe zu verstehen.

 
AmicaNoctis
19-02-2010, 20:29 
 
Ja, aber was wolltest du mit diesen Zeichen aussagen? Ich seh den Bezug zum Thread nicht.

 
phap
20-02-2010, 00:08 
 
....jedoch habe ich es nicht geschafft, dass pro User eine Zeile verwendet wird. Es wurde dann alles in einer Zeile angezeigt, was eine weitere Passwortänderung verunmöglicht....

mit file() bekommt man zwar die zeilenumbrüche am ende jedes array elements aber wenn man nun ein neues erstellt oder ändert und \n vergisst dann gibts eben bei file_put_contents() keine neue zeile.
Dafür war mein kommentar gedacht.
Vielleicht lag ich ja auch daneben dann --> tschuldigung

 
AmicaNoctis
20-02-2010, 00:41 
 
Da geb ich dir ja recht, aber hättest du vielleicht auch gleich so schreiben können, denn ohne diese Info kann mit deinem Beitrag niemand etwas anfangen ;)

Ist nicht böse gemeint, aber ich wusste erst auch nicht, was du meinst.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:27 Uhr.