Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] formularz puste pola
Forum PHP.pl > Forum > Przedszkole
icetab
witam mam formularz i nie wiem jak zrobic ze jak ktos nie wpisze pol imie nazwisko ulica to pokaze wypelnij pola imie, nazwisko, ulica a jak ktos wypelni imie nazwisko to pokaze wypelnij pole ulica
Sadu2
To może pokaż co aktualnie masz smile.gif
szpakoo
funkcje isset i empty
icetab
prosze

  1. <table border="0"><form method="post">
  2. <tr>
  3. <td>Tresc wiadomosci</td>
  4. <td><textarea name="tresc" ></textarea></td>
  5. </tr>
  6. <tr>
  7. <td>Imie</td>
  8. <td><input type="text" name="imie" ></td>
  9. </tr>
  10. <tr>
  11. <td>Nazwisko</td>
  12. <td><input type="text" name="nazwisko" ></td>
  13. </tr>
  14. <tr>
  15. <td>Ulica</td>
  16. <td><input type="text" name="ulica" ></td>
  17. </tr>
  18. <tr>
  19. <td>&nbsp;</td>
  20. <td><input type="submit" name="submit" value="Wyslij"></td></form>
  21. </tr>
szpakoo
heh pokazałeś kod HTML a w nim nie sprawdzisz czy któreś pole jest uzupełnione czy tez nie. żeby sprawdzić musisz korzystać z języka PHP albo JS.
musisz wysłać ten formularz np do pliku php który sprawdzi co jest zawarte w tym formularzu.
zobacz to: pobieranie danych z formularza
Pilsener
Możesz użyć instrukcji if:
  1. <?php
  2. if(empty($imie)){
  3. $blad = 'wypelnij imie';
  4. pokaz_formularz($blad); //funkcja wyswietlajaca formularz, jako opcja komunikat bledu
  5. }
  6. ?>


Edit: zapraszamy do kursu php, inaczej nigdy się nie dogadamy.
icetab
  1. <?php
  2. if(empty($tresc) and empty($imie) and empty($nazwisko) and empty($ulica)) { 
  3. echo '
  4. <table border="0"><form method="post">
  5. <tr>
  6. <td>Tresc wiadomosci</td>
  7. <td><textarea name="tresc" ></textarea></td>
  8. </tr>
  9. <tr>
  10. <td>Imie</td>
  11. <td><input type="text" name="imie" ></td>
  12. </tr>
  13. <tr>
  14. <td>Nazwisko</td>
  15. <td><input type="text" name="nazwisko" ></td>
  16. </tr>
  17. <tr>
  18. <td>Ulica</td>
  19. <td><input type="text" name="ulica" ></td>
  20. </tr>
  21. <tr>
  22. <td>&nbsp;</td>
  23. <td><input type="submit" name="submit" value="Wyslij"></td></form>
  24. </tr>
  25. </table>';
  26. }
  27. ?>

nie wiem czy dobrze a jak zrobic aby mowil jakie pola uzupełnić winksmiley.jpg ?
Pilsener
  1. <?php
  2. $klucze = array_keys($_POST);
  3. $numer = 0;
  4. foreach($_POST as $linia){
  5. if (empty($linia)){$blad.=$klucze[$numer].'|';}
  6. $numer++;
  7. }
  8. if (!empty($blad)){
  9.  echo 'Wypełnij pola: '.$blad;
  10.  //tu formularz
  11. }
  12. ?>
icetab
ale mi chodzilo zeby do kazdego pola przypisac empty i jak nie wypelni tylko imienia to pokaze wypelnij imie a nie wypelnij pola
ShadowD
  1. <table border="0"><form method="post">
  2. <tr>
  3. <td>Tresc wiadomosci</td>
  4. <td><textarea name="tresc" ></textarea></td>
  5. </tr>
  6. <tr>
  7. <td>Imie</td>
  8. <td><input type="text" name="imie" ></td>
  9. </tr>
  10. <tr>
  11. <td>Nazwisko</td>
  12. <td><input type="text" name="nazwisko" ></td>
  13. </tr>
  14. <tr>
  15. <td>Ulica</td>
  16. <td><input type="text" name="ulica" ></td>
  17. </tr>
  18. <tr>
  19. <td>&nbsp;</td>
  20. <td><input type="submit" name="submit" value="Wyslij"></td></form>
  21. </tr>
  22. </table>
  23.  
  24. To jest 2 plik plik sprawdzający
  25.  
  26. <?php
  27.  
  28. if(isset($_POST['imie']&&$_POST['imie']=='') blad.='Nie podałeś imienia';
  29.  
  30. if(isset($_POST['nazwisko']&&$_POST['nazwisko']=='') blad.='Nie podałeś nazwiska';
  31.  
  32. if(isset($_POST['ulica']&&$_POST['ulica']=='') blad.='Nie podałeś ulicay'
  33.  
  34.  
  35. if(isset($blad)) echo "$blad"; else echo "wszystko ok";
  36.  
  37. ?>


Zamiast $_POST['imie']=="" można użyć empty ale ja nie lubie... ;p

Ps. czekam na +1 do pomukł... ;p
icetab
blad
  1. <?php
  2. Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in index.php on line 38
  3.  
  4. a
  5. linia to
  6.  
  7. if(isset($_POST['imie']&&$_POST['imie']=="") blad.='Nie podales imienia<br>';
  8. ?>
ShadowD
Mała poprawka kodu tak od siebie smile.gif

  1. <table border="0"><form method="post">
  2. <input type="hidden" name="go" value="ok" />
  3. <tr><td>Tresc wiadomosci</td><td><textarea name="tresc" >
  4. </textarea></td></tr><tr><td>Imie</td><td><input type="text" name="imie" >
  5. </td></tr><tr><td>Nazwisko</td><td><input type="text" name="nazwisko" >
  6. </td></tr><tr><td>Ulica</td><td><input type="text" name="ulica" ></td>
  7. </tr><tr><td>&nbsp;</td><td><input type="submit" name="submit" value="Wyslij">
  8. </td></form></tr></table>
  9.  
  10. <?php
  11.  
  12. if($_POST['go']=="ok") {
  13.  
  14. if(!isset($_POST['imie'])||$_POST['imie']=='') $blad.='Nie podałeś imienia<br>';
  15. if(!isset($_POST['nazwisko'])||$_POST['nazwisko']=='') $blad.='Nie podałeś nazwiska<br>';
  16. if(!isset($_POST['ulica'])||$_POST['ulica']=='') $blad.='Nie podałeś ulicay<br>';
  17.  
  18. if(isset($blad)) echo "$blad"; else echo "wszystko ok";
  19.  
  20. }
  21.  
  22. ?>


Ok sry że tak długo tu masz wpełni działający kod... smile.gif
icetab
pytanie chlopaki a jak dopisac do niego funkcje ze jak jest ok all pola wypelnione to wysle mi dane na maila ?
ShadowD
Czekaj zaraz wszystko ci wygaśnie smile.gif

Po 1 chciałbym +1 do pomógł bo ci pomogłem... ;p
Po 2 powiedz czy masz na serwerze funkcje mail() jak korzystasz z hostingu to gdzieś powinno pisać, a jak masz na localhost to musisz korzystać z class phpmailer jak ci zależy napisze jak jej użyć i wszystko potrzebne do tego.. smile.gif
Cysiaczek
Cytat
pytanie chlopaki a jak dopisac do niego funkcje ze jak jest ok all pola wypelnione to wysle mi dane na maila ?


@icetab - Czy Ty kiedykolwiek napisałeś sam choć linijkę kodu? Jesteś na forum od roku i Ciągle w tym samym miejscu rozwoju. Ciągle pytasz o rzeczy podstawowe i ciągle chcesz gotowce! Zacznij w końcu czytać manual!
icetab
oczywiscie napisalem ale nie wiem w jakim miejscu dac kod do wyslania mail
ShadowD
  1. <table border="0"><form method="post">
  2. <input type="hidden" name="go" value="ok" />
  3. <tr><td>Tresc wiadomosci</td><td><textarea name="tresc" >
  4. </textarea></td></tr><tr><td>Imie</td><td><input type="text" name="imie" >
  5. </td></tr><tr><td>Nazwisko</td><td><input type="text" name="nazwisko" >
  6. </td></tr><tr><td>Ulica</td><td><input type="text" name="ulica" ></td>
  7. </tr><tr><td>&nbsp;</td><td><input type="submit" name="submit" value="Wyslij">
  8. </td></form></tr></table>
  9.  
  10. <?php
  11.  
  12. if($_POST['go']=="ok") {
  13.  
  14. if(!isset($_POST['imie'])||$_POST['imie']=='') $blad.='Nie podałeś imienia<br>';
  15. if(!isset($_POST['nazwisko'])||$_POST['nazwisko']=='') $blad.='Nie podałeś nazwiska<br>';
  16. if(!isset($_POST['ulica'])||$_POST['ulica']=='') $blad.='Nie podałeś ulicay<br>';
  17.  
  18. if(isset($blad)) echo "$blad"; else 
  19. { echo "wszystko ok"; mial(qwqw,qwqw,qwqw,qwqw); }
  20.  
  21. }
  22.  
  23. ?>




W miejscu qwqw napisz dane na który ma zostać wysłany email ale jeśli twoj server nie obsługuje funkcja mail() jak już mówiłem mogę ci napisać jak posługiwać się klasa do wysyłania emaili...
icetab
dzieki a jak w funkcji mail() dac 2 maile zeby wysylal 2 maile na dwa adresy ?
ShadowD
Już pisze...

Niestety nie ma takiej możliwości ale jest inna ;p zawsze możesz napisać tak:

  1. <?php
  2. mail(qwqw,qwqw,qwqw,qwqw);
  3. mail(qwqw,qwqw,qwqw,qwqw);
  4. ?>


Z pomocą tego kodu wyślesz 2 maile na 2 różne bądź takie same adresy...

Ps Pomogłem ci juz w wielu sprawach ;p daj mi +1 do pomoc proszę... smile.gif
Kicok
Cytat
Już pisze...

Niestety nie ma takiej możliwości


mail" title="Zobacz w manualu PHP" target="_manual
Jest taka możliwość. Nawet dwie.
Pierwszą masz na samym początku opisu tej funkcji, a drugą w przykładzie nr.: 1010

Warto też poczytać na google.pl o Cc i Bcc
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.