Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zapisywanie pliku
Forum PHP.pl > Forum > Przedszkole
Poganin.
Witam, napisałem banalny skrypt który powinien wyświetlić wpisane przez użytkownika dane na natępnej stronie i zapisać je do pliku "zamówienia.txt", niestety nic takiego się nie dzieje, a składnia wydaje mi się prawidłowa

  1. <?php
  2. $wiek = $_POST['wiek'];
  3. $data_ur = $_POST['data_ur'];
  4. $praca = $_POST['praca'];
  5. $nr_tel = $_POST['nr_tel'];
  6. $adres = $_POST['adres'];
  7. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  8. ?>
  9.  
  10. <html>
  11. <head>
  12. <title>Podsumowanie</title>
  13. </head>
  14. <body bgcolor="grey">
  15. <center><font face="arial" color="blue" size="6">Podsumowanie</font>
  16. <br />
  17. <br />
  18. <br />
  19. <br />
  20. <br />
  21. <br />
  22. <table border="1" bordercolor="blue" width="30%">
  23. <tr bgcolor="darkgrey">
  24. <td align="center">Twój wiek:</td> <td align="center"><?php
  25. echo "$wiek "."lat.";
  26. ?></td>
  27. </tr>
  28. <tr bgcolor="darkgrey">
  29. <td align="center">Twoja data urodzenia:</td> <td align="center"><?php
  30. echo "$data_ur"."r.";
  31. ?></td>
  32. </tr>
  33. <tr bgcolor="darkgrey">
  34. <td align="center">Pracujesz w:</td> <td align="center"><?php
  35. echo "$praca";
  36. ?></td>
  37. </tr>
  38. <tr bgcolor="darkgrey">
  39. <td align="center">Twój nr. telefonu:</td> <td align="center"><?php
  40. echo "$nr_tel";
  41. ?></td>
  42. </tr>
  43. <tr bgcolor="darkgrey">
  44. <td align="center">Twój adres:</td> <td align="center"><?php
  45. echo "$adres";
  46. ?></td>
  47. </tr>
  48. </table>
  49. <?php
  50. $ciagwyjsciowy = $wiek."/n".$data_ur."/n".$praca."/n".$nr_tel."/n".$adres."/n";
  51.  
  52. @ $wp = fopen("$DOCUMENT_ROOT/../zamówienia.txt", 'ab');
  53.  
  54. flock($wp, LOCK_EX);
  55.  
  56. fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  57. flock($wp, LOCK_UN);
  58. fclose($wp);
  59.  
  60. echo "<p>Zamówienie zapisane</p>";
  61. ?>
  62. </body>
  63. </html>
kadlub
jak nic nie wyświetla to sprawdź czy w ogóle przesyłasz coś do tych zmiennych
  1. $wiek = $_POST['wiek'];
  2. $data_ur = $_POST['data_ur'];
  3. $praca = $_POST['praca'];
  4. $nr_tel = $_POST['nr_tel'];
  5. $adres = $_POST['adres'];
  6. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

może nic nie przesyłasz z formularza
Poganin.
Właśnie chodzi o to że wyświetla, lecz nie tworzy pliku "zamówienia.txt" i nie wpisuje do niego ty danych ;/
kadlub

@ $wp = fopen("$DOCUMENT_ROOT/../zamówienia.txt", 'ab');
usuń tą małpę może się czegoś więcej dowiemy
Poganin.
To samo, żaden błąd nie wyskakuje, a plik się nie tworzy.
kadlub
ja sprawdziłem u siebie i działa zrób
echo $DOCUMENT_ROOT;
może sie tworzy tylko w innym miejscu
Poganin.
C:/Program Files/WebServ/httpd/

Czyli tam gdzie powinno być, a nie ma. Może problem tkwi w platformie? Używam webserv'a.
kadlub
$wp = fopen("$DOCUMENT_ROOT/zamówienia.txt", 'ab');
a daj taką ścieżkę
Poganin.
Wciąż nic. A u ciebie ten plik tworzy się w katalogu ze stroną?
kadlub
u mnie działa elegancko
powinien ci sie utworzyć w katalogu
C:/Program Files/WebServ/httpd/
taki jaki podałeś spróbuj jeszcze mu wpisać na sztywno np utwórz katalog tam gdzie masz stronę i podaj mu do niego ścieżkę np
$wp = fopen("nowy_katalog/zamówienia.txt", 'ab');
Poganin.
To chyba wina WebServ'a. Otóż sprawa wygląda tak:

Jeżeli pliki (Index.html, zliczanie.php) usunę z głównego folderu i zrestartuje WebServ'a, to po wejściu w ten katalog nic nie ma, lecz gdy wejde przez menu WebServ'a na Stronę główną wyświetla się tam informacja że plik "zamówienia.txt" istnieje w głownym folderze i mogę go wyświetlić, ale w tym folderze nic nie ma jak wchodzę "okienkowo".
kadlub
czyli skrypt działa prawidłowo skoro go tworzy
Poganin.
Zmieniłem platformę na WAMP'a i teraz przy takim kodzie:

  1. <?php
  2. $imie = $_POST['imie'];
  3. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  4.  
  5.  
  6. $ciagwyjsciowy = $imie."/n"
  7.  
  8. $wp = fopen("$DOCUMENT_ROOT/../zamowienia.txt", 'ab');
  9.  
  10.  
  11.  
  12. flock($wp, LOCK_EX);
  13.  
  14.  
  15.  
  16. fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  17.  
  18. flock($wp, LOCK_UN);
  19.  
  20. fclose($wp);
  21.  
  22.  
  23.  
  24. echo "<p>Zamówienie zapisane</p>";
  25. ?>


Wyskakuje błąd: Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\sprawdz.php on line 8
kadlub
w lini 6 nie masz średnikana końcu
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.