Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Problem z fopen
Forum PHP.pl > Forum > Przedszkole
hugo_z_doliny_pomaranczy
Mam problem z bardzo prostym kodem, który ma otwierać i zapisać do pliku tekstowego kilka danych. Uczę się dopiero PHP i jestem na bardzo wczesnym etapie, dlatego zwracam się z prośbą o pomoc. Poniżej przedstawiam kod, który napisałem z pomocą książki i pomimo, że wiele razy patrzyłem i starałem się znaleźć błąd, to albo go nie widzę, albo moja wiedza wykracza poza możliwość wykrycia tego błędu. Oto kod:
  1. <?php
  2. $DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
  3. $kod=$_POST['kod'];
  4. $nazwa=$_POST['nazwa'];
  5. $cena=$_POST['cena'];
  6.  
  7. $zapis=$kod."\t".$towar."\t".$cena."\n";
  8.  
  9. @$wp=fopen('$DOCUMENT_ROOT/zamowienia.txt', 'ab');
  10.  
  11. if (!$wp) {
  12. echo "<p><strong> Towar nie może zostać dodany. Spróbuj później.</strong></p>";
  13.  
  14. }
  15.  
  16. fwrite($wp, $zapis);
  17. fclose($wp);
  18.  
  19. echo "<p>Zamówienie zapisane.</p>";
  20. ?>


Całość jest w bloku html a pochodzą z formularza w html'u:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  4. <meta name="generator" content="PSPad editor, www.pspad.com">
  5. <title>Baza danych towarów</title>
  6. </head>
  7. <h1>Baza danych towarów</h1>
  8. <br><br>
  9.  
  10. <form action="przetworz.php" method=post>
  11. <table border=0>
  12. <tr bgcolor=#cccccc>
  13. <td width="150">Produkt</td>
  14. <td width="15">Ilość</td>
  15. </tr>
  16. <tr>
  17. <td>Kod towaru</td>
  18. <td align="left"><input type="text" name="kod" size="3" maxlength="3" /></td>
  19. </tr>
  20. <tr>
  21. <td>Nazwa towaru</td>
  22. <td align="left"><input type="text" name="nazwa" size="10" maxlength="20" /></td>
  23. </tr>
  24. <tr>
  25. <td>Cena towaru</td>
  26. <td align="left"><input type="text" name="cena" size="8" maxlength="8" /></td>
  27. </tr>
  28. <tr>
  29. <td colspan="2" align="center"><input type="submit" value="Dodaj towar"></td>
  30. </tr>
  31. </form>
  32. </body>
  33. </html>

W przeglądarce wyświetla się coś takiego:

Towar nie może zostać dodany. Spróbuj później.
"; } fwrite($wp, $zapis); fclose($wp); echo "
Zamówienie zapisane.

"; ?>

Nie czaję co może być źle, wcześniej korzystałem z fopen i wszystko było ok. Usunąłem znacznik tłumienia błędu, ale i tak nie pokazuje mi żadnego błędu.
Proszę o pomoc i wyrozumiałość, bo jestem początkującym jeśli chodzi o php. Z góry dzięki wink.gif Jeśli informacje które podałem są niewystarczające to proszę napiszcie co jeszcze mam podać.
nospor
A odpalasz to w ogole jako php? Bo z tego co dostajesz w przegladarce wynika jasno, ze php nie zostalo sparsowane tylko wyswietlony jak zwykly HTML...
hugo_z_doliny_pomaranczy
Mam uruchomionego Xamppa. Pliki są "wewnątrz" folderu htdocs, dokładnie w htdocs/mojeprogramy/bazatowarow. Nie wiem, może coś z konfiguracją nie tak. Miałem już też wcześniej problemy z tym, bo też mi się zdawało, że "widzi" kod jako html a nie php :/
Turson
Uruchamiasz plik przez localhost 127.0.0.1 ?
Plik ma rozszerzenie .php ?
hugo_z_doliny_pomaranczy
Tak, plik nazywa się przetworz.php, formularz ma rozszerzenie html. file:///C:/xampp/htdocs/bazatowarow/dodaj.html - plik formularza, file:///C:/xampp/htdocs/bazatowarow/przetworz.php - plik, który powinien zapisywać do pliku. Nie rozumiem, gdzie mam ten IP 127.0.0.1?
buliq
Holly Sh**

Szczerze, nie sądziłem że jeszcze będę miał okazję takich ludzi spotkać.

Sprawdź co to jest XAMP, co to jest Apache, jak uzyskać dostęp do zasobów Apache.
hugo_z_doliny_pomaranczy
Dzięki za pomoc i wyrozumiałość Panowie (tym którzy wyrozumiali byli), pomogliście smile.gif
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.