Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana danych zapisanych w txt
Forum PHP.pl > Forum > Przedszkole
Gecko
Witam mam taki oto skrypt:
  1. <?php
  2. $pole1 = trim($_POST['nazwa']);
  3. $pole2 = trim($_POST['data']);
  4. $pole3 = trim($_POST['tresc']);
  5. $pole4 = trim($_POST['autor']);
  6. $pole5 = trim($_POST['ok']);
  7. if(empty($pole1)) {
  8. echo '<form action="" method="post">
  9. <input type="text" value="Tytuł" name="nazwa" style="width: 100px;" /><input type="text" value="Data (d/m/r)" name="data" style="width: 100px;" /><br />
  10. <textarea name="tresc" style="width: 200px; height: 100px;">Treść newsa
  11. </textarea><br /><input type="text" value="Nick" name="autor" style="width: 100px;" /><br />
  12. <input type="submit" value="Zapisz" />
  13. <input type="hidden" value="no" name="ok" style="width: 0px;" />
  14. </form>';
  15. }
  16. else {
  17. $dane = $pole1."`".$pole2."`".$pole3."`".$pole4."`".$pole5."\n";
  18.  $file = "news.txt";
  19. $fp = fopen($file, "r+");
  20. $dane=$dane.fread($fp, filesize($file)); 
  21. rewind($fp); 
  22. flock($fp, 2);
  23. fwrite($fp, $dane);
  24. flock($fp, 3);
  25. fclose($fp);
  26. header('Location: <a href=\"http://xxx/news.php');&#092;" target=\"_blank\">http://xxx/news.php');</a>
  27. }
  28. ?>

Zapisuje on dane w postaci:

Cytat
Tytuł2`Data (d/m/r)2`Treść newsa2`Nick2`no
Tytuł1`Data (d/m/r)1`Treść newsa1`Nick1`no
Tytuł`Data (d/m/r)`Treść newsa`Nick`no
itd


Jak stworzyć skrypt który po np kliknięciu na ok (już całkiem inny formularz) zmienił jedną konkretną wartość "no" na "yes" i zapisał spowrotem do pliku . Powiedzmy że chodzi np. o "no" obok 'Nick1'... z jakich funkcji trzeba skorzystać?
emilgubala
prosta sprawa winksmiley.jpg
otwóż plik - skorzystał bym z funkcji "file()"
wtedy każdą linijkę masz jako osobny element tablicy
następnie (jako że każdą "kolumnę" masz oddzieloną '`' to
zrób pętlę która będzie przeszukiwała czy w danym elemencie tablicy jest Nick1
skorzystaj z funkcji list()
jeśli jest zmien wartość poskładaj w całość i zapisz tablicę do pliku winksmiley.jpg
>> jeśli bedę miał chwilę czasu i kawałek sił to ci napisze kod...
Gecko
Byłbym bardzo wdzięczny ;d
Gecko
Tak zdecydowanie byłbym wdzięczny, bo samemu coś nie idzie mi pisanie tego skryptu ;/

Ps. Przepraszam za post pod postem
Bloum
Odświeżam
nowotny
  1. <?php
  2. $file = "news.txt";
  3. $contents= file($file);
  4. $output='';
  5. foreach($contents as $line){
  6. $line_array=explode('`',$line);
  7. print_r($line_array);
  8. if($line_array[3]=='Nick1') $line_array[4]='yes'."r\n";
  9. $output.=implode('`',$line_array);
  10. }
  11. file_put_contents($file,$output);
  12. ?>


Pisane z głowy (czyli z niczego)... winksmiley.jpg

Z resztą... bez przesady... takich skryptów to na pęczki w internecie, w skrzynkach po ziemniakach... winksmiley.jpg
Gecko
Powstaje takie coś:
Cytat
tuł`Data (d/m/r)`Treść newsa`Nick`Nick1`yes
nowotny
Mówiłem że nie sprawdzane... tongue.gif

Poprawiłem...
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.