Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zapis danych z formularza do pliku txt
Forum PHP.pl > Forum > Przedszkole
shogzje
Witam. Otóż korzystam ze skryptu: http://www.kess.snug.pl/index.php?sid=10&pid=31. Jednak po dodaniu danych, najnowsza wyświetla się niżej. Chciałbym, aby najnowsze dane były dodawane na górze strony - w jaki sposób mam zmodyfikować powyższy kod?
sagittariuspl
  1. <?php
  2. else { 
  3.  
  4. // dane pochodzące z formularza 
  5. $dane = $pole1."`".$pole2."\n"; 
  6. // przypisanie zmniennej $file nazwy pliku 
  7. $file = "baza.txt"; 
  8. $dane2=file_get_contents($file);
  9. // uchwyt pliku, otwarcie do dopisania 
  10. $fp = fopen($file, "a"); 
  11. // blokada pliku do zapisu 
  12. flock($fp, 2); 
  13. // zapisanie danych do pliku 
  14. fwrite($fp, $dane.$dane2); 
  15. // odblokowanie pliku 
  16. flock($fp, 3); 
  17. // zamknięcie pliku 
  18. fclose($fp); 
  19.  
  20. echo "Dane zostały zapisane!<br />"; 
  21. echo "<a href=\"podglad.php\">Zobacz wpisane dane</a>"; 
  22. }
  23. ?>


niesprawdzane, ale powinno działać
b_chmura
  1. <?php
  2. // ...
  3. $file = file("baza.txt"); 
  4. $file = array_reverse($file, true)
  5. // ...
  6. ?>


EDIT
to do pliku z wyświetlaniem.
shogzje
Pokazuje się błąd:
Parse error: syntax error, unexpected T_FOREACH in /home/s/h/o/shog/www/vodka/podglad.php on line 10

A obie strony są tutaj:
http://shog.ovh.org/vodka/formularz.php
http://shog.ovh.org/vodka/podglad.php
b_chmura
zapomniałem ; (średnika) na końcu array_reverse, dopisz go
shogzje
Hm, gdy dodaję jedne dane, jest ok. Gdy chcę dodać drugie - dodają się drugie + pierwsze. Gdy dodaję trzecie, dodają się trzy naraz. :/
b_chmura
człowieku przecież Ci pisze co masz zrobić:
  1. <?php
  2. $file = file("baza.txt");
  3. $file = array_reverse($file, true);
  4.  
  5. foreach($file as $value)
  6. {
  7. $exp = explode("`",$value);
  8. echo $exp[0]."<br />".$exp[1]."<hr />";
  9. }
  10. ?>
shogzje
Człowieku, przecież ci piszę, że zrobiłem jak napisałeś. smile.gif
Dodałem dane 3 razy i oto, jak wygląda plik:
http://shog.ovh.org/vodka/podglad.php

Dane nie uaktualniają się, tylko za każdym razem dodawane są nowe (dopiero wprowadzone) + te stare.
EDIT: Już mam odpowiedź, z formularz.php trzeba było zmienić

Kod
fwrite($fp, $dane.$dane2);

na

Kod
fwrite($fp, $dane);

Mimo wszystko dzięki za pomoc. smile.gif
b_chmura
ale zrobiłeś też tak jak napisał ~sagittariuspl co jest błędem. Wróć do poprzedniej metody zapisywania.

Błędem w kodzie sagittariuspl jest zły atrybut przy fopen. Btw jeśłi używa file_get_contents mógłby też użyć file_put_contents.
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.