Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie pól formularza
Forum PHP.pl > Forum > Przedszkole
-Piotr-
Gdzie tutaj jest błąd?
  1. <script type="text/javascript">
  2. // <![CDATA[
  3. function sprawdz(formularz)
  4. {
  5. for (i = 0; i < formularz.length; i++)
  6. {
  7. var pole = formularz.elements[i];
  8. if (!pole.disabled && !pole.readonly && (pole.name == "name" || pole.name == "surname" || pole.name == "phone" || pole.name == "mail") && pole.value == "")
  9. {
  10. alert("Proszę wypełnić wszystkie pola!");
  11. return false;
  12. }
  13. }
  14. return true;
  15. }
  16. // ]]>
  17. </script>
  18.  
  19.  
  20.  
  21.  
  22.  
  23. <?php
  24. if (count($_POST))
  25. {
  26. ////////// USTAWIENIA //////////
  27. $email = 'mail'; // Adres e-mail adresata
  28. $subject = 'Zapis na szkolenie '; // Temat listu
  29. $message = 'Dziękujemy za wysłanie formularza'; // Komunikat
  30. $error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
  31. $charset = 'iso-8859-2'; // Strona kodowa
  32. //////////////////////////////
  33.  
  34. $head =
  35. "MIME-Version: 1.0\r\n" .
  36. "Content-Type: text/plain; charset=$charset\r\n" .
  37. "Content-Transfer-Encoding: 8bit";
  38. $body = '';
  39. foreach ($_POST as $name => $value)
  40. {
  41. if (is_array($value))
  42. {
  43. for ($i = 0; $i < count($value); $i++)
  44. {
  45. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  46. }
  47. }
  48. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  49. }
  50. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  51. }
  52. else
  53. {
  54. ?>
  55. <form action="?" method="post" enctype="text/plain" onsubmit="if (sprawdz(this)) return true; return false">
  56. <div>
  57. <center>
  58. <table>
  59. <input type="hidden" name="Zapis na szkolenia" value="aktualizacja: 10.07.2012" />
  60. <tr>
  61. <td>
  62. <font face="Tahoma" font size="2" color="003252">Imię *</font><br />
  63. </td>
  64.  
  65. <td>
  66. <input type="text" name="name" /><br />
  67. </td>
  68. </tr>
  69. <tr>
  70. <td>
  71. <font face="Tahoma" font size="2" color="003252">Nazwisko *</font><br />
  72. </td>
  73. <td>
  74. <input type="text" name="surname" /><br />
  75. </td>
  76. </tr>
  77. <tr>
  78. <td>
  79. <font face="Tahoma" font size="2" color="003252">Telefon</font><br />
  80. </td>
  81. <td>
  82. <input type="text" name="phone" /><br />
  83. </td>
  84. </tr>
  85. <tr>
  86. <td>
  87. <font face="Tahoma" font size="2" color="003252">E-mail *</font><br />
  88. </td>
  89. <td>
  90. <input type="text" name="mail" /><br />
  91. </td>
  92. </tr>
  93. <tr>
  94. <td>
  95. <font face="Tahoma" font size="2" color="003252">Wybór <br>szkolenia *</font><br />
  96. </td>
  97. <td>
  98. <select name="szkolenie">
  99. <option>szkolenia 1</option>
  100. <option>Szkolenia2</option>
  101. </select><br />
  102. </td>
  103. </tr>
  104. <tr>
  105. <td>
  106. <font face="Tahoma" font size="2" color="003252">Wiek *</font><br />
  107. </td>
  108. <td>
  109. <input type="text" name="phone" /><br />
  110. </td>
  111. </tr>
  112. <tr>
  113. <td>
  114. <font face="Tahoma" font size="2" color="003252">Treść</font><br />
  115. </td>
  116. <td>
  117. <textarea name="tresc" cols="30" rows="5"></textarea><br />
  118. </td>
  119. </tr>
  120. <tr>
  121. <td>
  122. </td>
  123. <td>
  124. <input type="checkbox" name="Regulamin" value="Zaakceptowany" id="reg" />
  125. <label for="pole1"><a href="regulaminswiadczeniauslug.pdf"><font face="Tahoma" font size="2" color="003252">Akceptuje regulamin świadczenia usług</font></label>
  126. </td>
  127. </tr>
  128. <tr>
  129. <td></td>
  130. <td>
  131. <input type="submit" value="OK" /><br />
  132. </td>
  133. </tr>
  134.  
  135. </table>
  136. </div>
  137. </form>
  138. </center>
  139. <?php
  140. }
  141. ?>
batman
Cytat(-Piotr- @ 10.07.2012, 13:37:12 ) *
Gdzie tutaj jest błąd?

W braku jakiejkolwiek informacji o pojawiającym się błędzie - komunikat błędu, kiedy występuje oraz przede wszystkim czy jest to błąd PHP, HTML, CSS, JavaScript, czy jeszcze jakiś inny.
nospor
A co to? QUIZ?questionmark.gif
Może napisz co się dzieje lub co się nie dzieje a powinno się dziać a nie każesz nam wróżyć.
-Piotr-
Po przyciśnieciu OK
formularz nie zostaje wysłany
sprawdzanie wypełnienia pola jest w porządku
nospor
Po pierwsze: wywal znak zapytania z action
Po drugie: po wysyłce wyświetlasz $message lub $error. Wyświetla ci się któres?
-Piotr-
Zamiast "?" co mam wstawić?
nie pojawia się żadna z wiadomości
peter13135
możesz wywalić całe action albo dać nazwę swojego pliku do którego ma zostać wysłany form
nospor
Cytat
Zamiast "?" co mam wstawić?
Nic, poprostu masz wywalić znak zapytania. Przecież piszę po polsku
-Piotr-
wywaliłem, dalej nie działa
po kliknięciu OK czyści formularz
nospor
Przed
if (count($_POST))
daj
print_r($_POST);
i pokaz co ci to wyswietla po wysłaniu forma
-Piotr-
nad formularzem pojawiło się

Array ( )
-Piotr-
Parse error: syntax error, unexpected T_ELSE in /home/xxx/ftp/test/zapisz.php on line 53
peter13135
To błąd składniowy, pewnie zjadłeś gdzieś średnik.
-Piotr-
widzi ktoś może gdzie?
jestem lajkiem jeżeli chodzi o java i php
a te skrypty były po prostu skopiowane
ciekawskiii
linia 48 gdzie masz else dodaj dwie klamry } else {

tak mi sie wydaje bo sredniki wszedzie widze chyba

edit. sorki daj tam jeden srednik za else { i jeden za linia 48 }
-Piotr-
Cytat(ciekawskiii @ 10.07.2012, 13:10:10 ) *
linia 48 gdzie masz else dodaj dwie klamry } else {

tak mi sie wydaje bo sredniki wszedzie widze chyba

edit. sorki daj tam jeden srednik za else { i jeden za linia 48 }


dalej wyczyszcza formularz
ciekawskiii
no bo nie wiem gdzie Ty masz ten blad skoro u mnie go nie ma?
-Piotr-
a poprawiałeś coś ?
nie wiem dlaczego nie chce wysyłać ;/
ciekawskiii
Cytat
if (isset($_POST))
linia 24
-Piotr-
Teraz jak wejde w zakladke gdzie mam formularz odrazu wysyła mi maila na poczte
ciekawskiii
samo nie moze wysylac chyba ze odswiezysz strone gdy $_POST juz istnieje, to normalne, zabezpiecz to jakos lub po wyslaniu maila przekieruj na inna strone
peter13135
Ale on coś zmienia, my nie bardzo wiemy co, mówi, że mu nie działa i oczekuje, że powiemy mu co ma źle, mimo, że nie widzimy kodu wink.gif
nospor
Cytat
samo nie moze wysylac chyba ze odswiezysz strone gdy $_POST juz istnieje, to normalne, zabezpiecz to jakos lub po wyslaniu maila przekieruj na inna strone

Może, by kazałeś mu zmienić na
isset($_POST);
a $_POST panie kolego jest zawsze ustawione....Uczył ślepy głuchego tongue.gif

skoro print_r($_POST); po wysłaniu forma nie wyswietla ci zadnych danych, znaczy ze masz coś nie tak z formularzem. Czy ty go przypadkiem nie włożyłeś w inny formularz?

wywal tez to: enctype="text/plain"
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.