Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Nadpisanie wiersza w pliku
Forum PHP.pl > Forum > PHP
bartek12421
Witam.
Mam prosty skrypt logowania oparty na plikach.
Jest sobie pliczek baza.txt który zbudowany jest tak:
Kod
login1,haslo1
login2,haslo2
login3,haslo3
...

Spróbowałem sobie dodać tutaj zmianę hasła.
Nabazgrałem taki kod:
  1. <?
  2. $zmiana == $_GET["zmiana"];
  3. $nowe = md5($_POST["nowe"]);
  4. if ($zmiana == "1")
  5. {
  6. $czytaj = file(DATA);
  7. foreach($czytaj as $user)
  8.  {
  9.    $str = explode(",", $user);
  10.    if($str[0] == $_SESSION["USER_LOGIN"])
  11.    {
  12.        $dane = "\n".$_SESSION["USER_LOGIN"].",".$nowe."";
  13.        $file = DATA;
  14.        $fp = fopen($file, "a");
  15.        flock($fp, 2);
  16.        fwrite($fp, $dane);
  17.        flock($fp, 3);
  18.        fclose($fp);
  19. }
  20. }
  21. }
  22. ?>

Zmienna DATA definiuje plik baza.txt
Wszystko działa prawie jak trzeba, bo jeżeli mam sobie usera adam z hasłem kurczak i adam zmieni hasło na indyk to w pliku będzie tak
Kod
adam,kurczak
adam,indyk

Taka zmiana hasła to nic z poziomu bezpieczeństwa.
Można jakoś nadpisać hasło jednego usera nie naruszając innych wpisów?

Z góry dzięki za pomoc.
pinochet
A myślisz, że po co wymyślili bazy danych?
Pierwsze zapytanie do googli + pierwszy wynik
  1. <?php
  2. function change_line($file, $line, $string) {
  3.  $lines = explode("\n",file_get_contents($id));
  4.  $lines[$line] = $string;
  5.  file_put_contents(implode("\n",$lines),LOCK_EX);
  6.  }
  7. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.