Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] walidacja danych w polach formularza
powertee
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 13.12.2007
Skąd: Katowice/Goleniowy

Ostrzeżenie: (0%)
-----


Witam, próbuje zrobić formularz z walidacją danych, po krotce o co chodzi:
1. pole imie nie powinno zawierać mniej niż 3 znaki
2. to samo z polem nazwisko
3. email powinien posiadać @ i przynajmniej 1 kropkę "."
4 pole numer telefonu
żadne z tych pól nie powinno być puste.
formularz przesyła dane do kolejnej strony w której zostają zapisane do bazy danych.
formularz powinien wyświetlać komunikat dla źle wpisanych danych lub gdy pole jest puste(dla każdego przypadku osobny komunikat).
Samo zapisanie do bazy już osiągnąłem ale chodzi mi o tą walidacje.

  1. <?
  2. $required = array("imie" => "Imie" ,
  3.  "nazwisko" => "Nazwisko" );
  4. foreach($required as $field => $label) {
  5. if (!$_POST[$field]) {
  6. $warnings[$field] = "Pole obowiązkowe";
  7. }
  8. }
  9.  
  10. if ($_POST["email"] &&
  11. !ereg("^[^@]+@([a-z-]+.)+[a-z]{2,4}$". $_POST[ "email"]))
  12. $warnings["email"] = "Nieprawidłowy adres e-mail.";
  13.  
  14. if ($_POST["telefon"] &&
  15. (!ereg("^([[:digit:]]{2})[[:digit:]]{3}[[:space:]][[:digit:]]{2}[[:space:]][[:digit:]]{2}$$",
  16. $_POST["telefon"]) ||
  17.  
  18. !ereg("^([[:digit:]]{2))[[:digit:]]{1}[[:space:]][[:digit:]]{3}
  19. [[:space:]][[:digit:]]{3}$",
  20. $_POST["telefon"]) ||
  21.  
  22. !ereg("^[[:digit:]]{3}[[:space:]][[:digit:]]{3}[[:space:]][[:digit:]]{3}$",
  23. $_POST["telefon"])))
  24. $err .= "nieprawidłowy format telefonu";
  25.  
  26. if (count($warnings) > 0) {
  27.  
  28. ?>
  29.  
  30.  
  31. <form action="dodaj.php" method=post>
  32. <table border="0" width="750" cellspacing="1" cellpadding="3"
  33.  bgcolor="#353535" align="center">
  34. <tr>
  35.  <td bgcolor="#ffffff" width="30%">Imie:</td>
  36.  <td bgcolor="#ffffff" width="70%">
  37. <input type="text" name="imie" value="<? echo $_POST["imie"]; ?>">
  38.  </td>
  39.  <td><? echo $warnings["imie"]; ?></td>
  40. </tr>
  41. <tr>
  42.  <td bgcolor="#ffffff" width="30%">Nazwisko</td>
  43.  <td bgcolor="#ffffff" width="70%">
  44. <input type="text" name="nazwisko" value="<? echo $_POST["nazwisko"]; ?>">
  45.  </td>
  46.  <td><? echo $warnings["nazwisko"]; ?></td>
  47. </tr>
  48. <tr>
  49.  <td bgcolor="#ffffff" width="30%">Email</td>
  50.  <td bgcolor="#ffffff" width="70%">
  51. <input type="text" name="email" <? if($warnings["email"]) echo "STYLE=\"shaded\"";?> value="<? echo $_POST["email"]; ?>">
  52.  </td>
  53.  <td><? echo $warnings["email"]; ?></td>
  54. </tr>
  55. <tr>
  56.  <td bgcolor="#ffffff" width="30%">telefon</td>
  57.  <td bgcolor="#ffffff" width="70%">
  58. <input type="text" name="telefon" value="<? echo $_POST["telefon"]; ?>">
  59.  </td>
  60.  <td><? echo $warnings["telefon"]; ?></td>
  61. </tr>
  62.  
  63. <tr>
  64. <td bgcolor="#FFFFFF" colspan="2" align="center">
  65. <input type="submit" value="Dodaj">
  66. </td>
  67. </tr>
  68. </table>
  69. </form>
  70. <?
  71. }
  72. else {
  73. echo "Dane wprowadzono prawidłowo:D";
  74. }
  75. ?>
Go to the top of the page
+Quote Post
Sabistik
post
Post #2


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Tytuł tematu nie spełnia wymagań regulaminu działu przedszkole. Zamykam. Po zgłoszeniu poprawnej formy któremukolwiek z moderatorów (wraz z linkiem do tego tematu) zostanie otwarty.

Naucz się czytać ze zrozumieniem, bo następnym razem tematy będą usuwane.
Go to the top of the page
+Quote Post
powertee
post
Post #3





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 13.12.2007
Skąd: Katowice/Goleniowy

Ostrzeżenie: (0%)
-----


nie wiem co jest nie tak w tym skrypcie, chociaż wpisuje błędne dane i tak wpisuje je do bazy
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:53