Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: formularz z pamiecia
Forum PHP.pl > Forum > PHP
kalu111
mam taki prosty skrypt
  1. <?php
  2. if ( isset($_POST['submit']) ) {
  3. //Obslygujemy formularz
  4. } else {
  5. //Wyswietlamy formularz
  6. }
  7. ?>
Skrypt obslugiwany jest przez jeden plik. Dlaczego gdy np nie wpisze w dane pole textowe jakiejs wrtosci, skrypt to wykryje i cofne sie do formularza, to reszta pol wypelnionych czysci sie, a przeciez mam wpisane:
  1. <?php
  2. ....value="' . $POST['name'] . '" />
  3. ?>
wipo
Użyj javascriptu - łatwiej i szybciej
w <form name="form1" onsubmit="if (document.forms['form1'].pole_formularza.value==''){ alert('Wpisz to pole'); return false;}">

A jak chcesz koniecznie w php to daj tak

if ($_POST['submit']){
//cos o formularzu jak nie ma wpisanego pola dajesz $blad=1;
}
if (!$_POST['submit']||$blad==1){
//formularz
}


DOPISEK

Sorry nie zauważyłem (nie masz _ między $ a POST
dr_bonzo
Uzywaj wyswietlania WSZYSTKICH bledow -- unikniesz takich problemow:

  1. <?php
  2. error_reporting( E_ALL );
  3. ?>

lub odpowiedni wpis w php.ini
wipo
Ale tego błędu chyba nie pokaże (on chciał wyświetlić zmienną której nigdy wcześniej nie używał - czyli po prostu nic w niej nie ma)
nospor
Cytat
Ale tego błędu chyba nie pokaże

Oczywiscie ze pokaze, napisze cos w tym stylu:
"zmienna $POST nie zadeklarowana wczesniej"
kalu111
chyba uzyje javy, dzieki
nospor
Cytat
chyba uzyje javy, dzieki
nie javy a js.
A walidacja na serwerze (w php) tak czy siak powinna byc. poleganie na walidacji tylko w js jest bledem.
wipo
nospor ma rację.
Powodzenia
kalu111
no iczywiscie ze mam podwojna walidacje smile.gif
a ma pytanko, bo w js jestem slabiutki jak komar, jak zmodyfikowac ten skrypt aby sprawdzal poprawnosc adresu e-mail? Wiem ze to nieodpowiednie forum, ale skorzystam z okazji smile.gif
Wzorzec adresu to
  1. var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i

a skrypt jest taki
  1. if (f.value == '') {
  2. alert('Nie podałeś pełnej nazwy firmy');
  3. f.focus(); return false;
  4. }
mokry
Poniżej przedstawiam Ci przykładowy formularz z weryfikacja adresu e-mail... Jak chcesz to skorzystaj z tego winksmiley.jpg
  1. <script language="javascript">
  2.  
  3. function SprawdzFormularz(f) {
  4.  
  5. if (f.kto.value=='') {
  6. alert('Nie podaleś/aś niku/imienia.');
  7. return false;
  8. }
  9.  
  10. if (f.email.value=='') {
  11. alert('Nie podaleś/aś adresu e-mail.');
  12. return false;
  13. }
  14.  
  15. if ( ((f.email.value.indexOf('@',1))==-1)||(f.email.value.indexOf('.',1))==-1 ) {
  16. alert('Podaleś/aś błędny adres e-mail');
  17. return false;
  18. }
  19.  
  20. if (f.tresc.value=='') {
  21. alert('Nie podaleś/aś treści komentarza.');
  22. return false;
  23. }
  24.  
  25. else {
  26. return true;
  27. }
  28. }
  29.  
  30. </script>
  31. <h4>Dodaj komentarz:</h4>
  32. Wypełnij proszę poniższe pola aby dodać komentarz do wybranej przez Ciebie noty.<br/>
  33. Wypełnij proszę także Twój adres e-mail.<br/><br/><br/>
  34. <form id="form1" name="form1" method="post" action="adres_pliku_wykonawczego.php" onsubmit="return SprawdzFormularz(this)">
  35. <table width="100%" cellspacing="0" cellpadding="2" border="0">
  36.  
  37. <tr>
  38. <td width="20%"><div align="right">Imię/Nick: </div></td>
  39. <td width="80%"><label>
  40. <input name="kto" type="text" id="kto" size="20" />
  41. </label></td>
  42. </tr>
  43. <tr>
  44.  
  45. <td><div align="right">E-mail: </div></td>
  46. <td><label>
  47. <input name="email" type="text" id="email" size="20" />
  48. </label></td>
  49. </tr>
  50. <tr>
  51. <td valign="top"><div align="right">Treść komentarza: </div></td>
  52.  
  53. <td><label>
  54. <textarea name="tresc" cols="60" rows="10"></textarea>
  55. </label></td>
  56. </tr>
  57. <tr>
  58. <td><div align="right"></div></td>
  59. <td>&nbsp;</td>
  60. </tr>
  61.  
  62. <tr>
  63. <td>&nbsp;</td>
  64. <td><label>
  65. <input type="submit" value="Dodaj komentarz" />
  66. </label></td>
  67. </tr>
  68. </table>
  69. </form>
kalu111
oki, dzieki, juz sobie dalej poradze.
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.