Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak zrobić walidację ?
Forum PHP.pl > Forum > Przedszkole
zoltar08
  1. Witam! Jestem bardzo początkujący w tematyce PHP. Mam pytanko jak zrobić walidację poniższego kodu, aby:
  2. skrypt sprawdzał czy w mailu jest małpa @
  3. czy numer telefonu nie składa się z liter



  1. <?php
  2. if (empty($_POST['submit'])) {
  3.  
  4. echo "<table border=\"0\"><form method=\"post\">
  5. <tr>
  6. <td>Imię i nazwisko</td>
  7. <td align=\"left\"><input type=\"text\" name=\"imie\" style=\"width: 200px\"></td>
  8. </tr>
  9. <tr>
  10. <td>Podaj nr telefonu</td>
  11. <td align=\"left\"><input type=\"text\" name=\"tel\" style=\"width: 200px\"></td>
  12. </tr>
  13. <tr>
  14. <td>Twój e-mail</td>
  15. <td align=\"left\"><input type=\"text\" name=\"email\" style=\"width: 200px\"></td>
  16. </tr>
  17. <tr>
  18. <td>Treść</td>
  19. <td align=\"left\"><textarea name=\"tresc\" style=\"width: 360px; height: 140px\"></textarea></td>
  20. </tr>
  21. <tr>
  22. <td>&nbsp;</td>
  23. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  24. <input type=\"reset\" value=\"Wyczyść\"></td></form>
  25. </tr>
  26. </table>";
  27. }
  28. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  29. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['tel']) && !empty($_POST['email'])) {
  30. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  31. // zmienna $message zawiera treść wiadomości
  32. $message = "Wysłał: $_POST[imie]\n\nTelefon kontaktowy: $_POST[tel]\n\ne-mail: $_POST[email]\n\nTreść zamówienia:\n\n$_POST[tresc]";
  33. // zmienna $header zawiera przede wszystkim adres zwrotny
  34. $header = "From: $_POST[imie] <$_POST[email]>";
  35. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  36. @mail("tu@jakis-mail","Zamówienie","$message","$header")
  37. or die("Nie udało się wysłać wiadomości!<br><br><input type=\"button\"
  38. onclick=\"history.back();\" value=\"Powrót\">");
  39. // wyświetlenie komunikatu w przypadku powodzenia
  40. echo "<strong>Wiadomość została wysłana poprawnie!</strong><br><br><input type=\"button\"
  41. onclick=\"history.back();\" value=\"Powrót\">";
  42. }
  43. // lub w przypadku nie wypełnienia formularza do końca
  44. else echo "Proszę wypełnić wszystkie pola formularza!<br><br><input type=\"button\"
  45. onclick=\"history.back();\" value=\"Powrót\">";
  46. ?>


Za pomoc będę wdzięczny!
Pawel_W
do tego przydadzą ci się wyrażenia regularne

http://pl.wikibooks.org/wiki/PHP/Podstawy_...%84_regularnych
piotrooo89
preg_match + filter_var
blooregard
  1. echo "<table border=\"0\"><form method=\"post\">
  2. <tr>
  3. <td>Imię i nazwisko</td>
  4. <td align=\"left\"><input type=\"text\" name=\"imie\" style=\"width: 200px\"></td>
  5. </tr>
  6. <tr>
  7. <td>Podaj nr telefonu</td>
  8. <td align=\"left\"><input type=\"text\" name=\"tel\" style=\"width: 200px\"></td>
  9. </tr>
  10. <tr>
  11. <td>Twój e-mail</td>
  12. <td align=\"left\"><input type=\"text\" name=\"email\" style=\"width: 200px\"></td>
  13. </tr>
  14. <tr>
  15. <td>Treść</td>
  16. <td align=\"left\"><textarea name=\"tresc\" style=\"width: 360px; height: 140px\"></textarea></td>
  17. </tr>
  18. <tr>
  19. <td>&nbsp;</td>
  20. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  21. <input type=\"reset\" value=\"Wyczyść\"></td></form>
  22. </tr>
  23. </table>";


Nie pakuj tyle kodu HTM do echo.
Zamiast tego po otwarciu nawiasu klamerkowego w if-ie zamknij parsowanie php, potem normalnie wpisz kod HTML, a przed elseif { znów otwórz parsowanie php.

Nawet w manualnu masz to napisane:
  1. The example given here is contrived, of course, but for outputting large blocks of text, dropping out of PHP parsing mode is generally more efficient than sending all of the text through echo() or print().

Przykład z manuala:
  1. <?php
  2. if ($expression) {
  3. ?>
  4. <strong>This is true.</strong>
  5. <?php
  6. } else {
  7. ?>
  8. <strong>This is false.</strong>
  9. <?php
  10. }
  11. ?>


http://pl.php.net/manual/en/language.basic...tax.phpmode.php
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.