Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][HTML] odbieranie danych z formularza PHP 5.2.5 vs PHP 5.2.9
Forum PHP.pl > Forum > Przedszkole
goroteb
Mam zwykły formularz.
Używam u siebie na komputerze PHP w wersji 5.2.5, na serwerze, gdzie przesyłam mój skrypt jest wersja 5.2.9


Mój submitujący input to:
  1. <input type="submit" name="submit" id="submit" value="wyslij" />



Skrypt wywaraca się już przy:
  1. <?php
  2. if(isset($_POST['submit']))
  3. {
  4. echo 'formularz przesłany';
  5. }
  6.  
  7. ?>


Ogólnie z php mam do czynienia już parę lat, składnię przejrzałem no i co najbardziej zastanawiające jak kod działa u mnie ale nie na serwerze.. pomocy!
Ellington
Co rozumiesz przez "wywraca" - sa jakies konkretne bledy?
Wiktor P.
Miałem kiedyś taki problem.
Oto co u mnie było przyczyną:
1. inkludowałem plik w którym był inny formularz, ale zapomniałem w nim zamknąć tag </form>.
2. Ponazywałem różne tagi input tymi samymi tagami name, np.
  1. <input type="text" name="zmienna">
  2. <input type="submit" name="zmienna">

To zadziała - ale tylko na IE.
FF już tego nie strawi.
goroteb
Przepraszam, pisałem dwa razy tego posta - za pierwszym razem kliknąłem w "jak dodawać tagi" i otworzyło mi się okno z helpem - tyle, że w tym samym oknie gdzie miałem napisany już post razem z errorem.

A zatem:

  1. Parse error: syntax error, unexpected '{' in /home1/bla/public_html/bla/kalkulator.php on line 1




Sprawdziłem już formularze - jest tylko jeden. Pod IE to również nie działa - zresztą nie dziwota, bo błąd jest w parsowaniu pliku. Atrybuty "name" są również unikalne w skali strony.
Dokument jest waliduje się jako XHTML 1.0 Transitional.
  1. <?php
  2. if(isset($_POST['submit']))
  3. {
  4. // nawet jak wycinam to co tutaj się znajduje, serwer ma problem z parsowaniem samego
  5. }
  6. //Jeśli wytne blok if(isset($_POST['submit'])) {//costam } strona jest poprawnie parsowana
  7. ?>

Blame
Wygląda na to, że masz coś pokiełbaszone z klamrami, zobacz czy masz wszystko pozamykane przed tym if'em, ew. pokaż kod całego pliku.
goroteb
Nie, to tutaj tylko walczyłem z tymi tagami [php] ;D

Taki kod działa:
  1. <?php
  2.  
  3. if(isset($_POST['submit']))
  4. {
  5. $input_price = htmlspecialchars($_POST['input_price']);
  6. $input_engine_val = htmlspecialchars($_POST['input_engine_val']);
  7. echo 'Formularz w trakcie tworzenia.';
  8. if($input_price < 999999999)
  9. {
  10. if((!empty($input_engine_val)) && (!empty($input_engine_val)))
  11. {
  12. if(is_numeric($input_price) && is_numeric($input_engine_val))
  13. {
  14. echo 'Przesłano poprawne dane , though.';
  15. }
  16. else
  17. {
  18. echo '<span class="komunikat_bledu">Proszę podać liczby.</span>';
  19. }
  20.  
  21.  
  22. }
  23. }
  24. else
  25. {
  26. echo '<br /><span class="komunikat_bledu">Podana cena jest za wysoka!</span>';
  27. }
  28.  
  29. }
  30. ?>


A taki nie działa:


  1. <?php
  2.  
  3. if(isset($_POST['submit']))
  4. {
  5. $input_price = htmlspecialchars($_POST['input_price']);
  6. $input_engine_val = htmlspecialchars($_POST['input_engine_val']);
  7. echo 'Formularz w trakcie tworzenia.';
  8. if($input_price < 999999999)
  9. {
  10. if((!empty($input_engine_val)) && (!empty($input_engine_val)))
  11. {
  12. if(is_numeric($input_price) && is_numeric($input_engine_val))
  13. {
  14. echo 'Przesłano poprawne dane , though.';
  15. [size="5"] //fdsfdsfsfds[/size]
  16. }
  17. else
  18. {
  19. echo '<span class="komunikat_bledu">Proszę podać liczby.</span>';
  20. }
  21.  
  22.  
  23. }
  24. }
  25. else
  26. {
  27. echo '<br /><span class="komunikat_bledu">Podana cena jest za wysoka!</span>';
  28. }
  29.  
  30. }
  31. ?>


Dodałem tylko komentarz.
Wiktor P.
Daj znak komentarza, czyli // lub # przed
  1. [size="5"]

a nie za.
goroteb
Ok, ale wiadomo o co chodzi:

//fdfdfdfd zostało dodane

Pierwszy raz mam taki problem z debugowaniem
Zaznaczam, że problem ten nie istnieje na wampie z php 5.2.5, a tylko na 5.2.9 na serwerze.
Kodowanie to też nie jest, bo edytuje to Notepad++ i mam ANSI as UTF-8 w prawym dolnym rogu.
Ellington
- Ten kod jest include'owany czy wywołujesz go w osobnym pliku?
- Błąd wskazuje na pierwszą linię kodu - to, co nam pokazałeś to cały plik kalkulator.php?
- Kodowanie UTF-8 jest ok, ale srawdź, czy na pewno jest UTF-8 bez BOM
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.