Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak zrobić walidację ?
zoltar08
post 5.05.2010, 08:38:30
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 13.11.2009

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


  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!
Go to the top of the page
+Quote Post
Pawel_W
post 5.05.2010, 08:40:42
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


do tego przydadzą ci się wyrażenia regularne

http://pl.wikibooks.org/wiki/PHP/Podstawy_...%84_regularnych
Go to the top of the page
+Quote Post
piotrooo89
post 5.05.2010, 08:42:16
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




preg_match + filter_var


--------------------
Go to the top of the page
+Quote Post
blooregard
post 5.05.2010, 08:49:08
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  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


--------------------
Life's simple... You make choices and don't look back...
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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 03:23