Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wzbogacenie formularza o funkcję eregi, Jak zainicjować eregi w tym formularzu?
elan
post 3.10.2009, 19:33:48
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.09.2009

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


Witajcie, Chciałbym żeby poniższy formularz, który często wykorzystuję był wzbogacony o funkcje sprawdzające poprawność e-maila. Wiem, że do tego trzeba użyć funkcji eregi, problem w tym, że nie wiem gdzie mogę ją wcisnąć w poniższym kodzie i jak zrobić żeby komunikat o błędzie dot. poprawnosci e-maila pojawial sie nad inputem emaila.

  1. <?php
  2. // sprawdzamy, czy zmienna $submit jest pusta
  3. if (empty($_POST['submit'])) {
  4. // wyświetlamy formularz
  5. echo "<table border=\"0\"><form method=\"post\">
  6. <tr>
  7. <td><p id='formtext'>Imię i nazwisko:</p><input type=\"text\" name=\"imie\" style=\"width: 216px\"></td>
  8. </tr>
  9. <tr>
  10. <td><p id='formtext'>Telefon:</p><input type=\"text\" name=\"telefon\" style=\"width: 216px\"></td>
  11. </tr>
  12. <tr>
  13. <td><p id='formtext'>E-mail:</p><input type=\"text\" name=\"email\" style=\"width: 216px\"></td>
  14. </tr>
  15. <tr>
  16. <td><p id='formtext'>Treść wiadomości:</p><textarea name=\"tresc\" style=\"width: 216px; height: 100px\"></textarea></td>
  17. </tr>
  18. <tr>
  19. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\"></td></form>
  20. </tr>
  21. </table>";
  22. }
  23. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  24. elseif (!empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['telefon']) && !empty($_POST['tresc'])) {
  25. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  26. // zmienna $message zawiera treść wiadomości
  27. $message = "Wysłał: $_POST[imie]\nE-mail: $_POST[email]\nTelefon: $_POST[telefon]";
  28. // zmienna $header zawiera przede wszystkim adres zwrotny
  29. $from = "$_POST[email] <$_POST[email]>";
  30. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8";
  31. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  32. @mail("biuro@rudmet.pl","Zgłoszenie","$message","$header")
  33. or die('Nie udało się wysłać wiadomości');
  34. // wyświetlenie komunikatu w przypadku powodzenia
  35. echo "<div align=\"center\"><p id='komunikat'>Wiadomość została wysłana poprawnie.</p></div>";
  36. }
  37. // lub w przypadku nie wypełnienia formularza do końca
  38. else echo "<p id='komunikat'>Proszę wypełnić wszystkie pola formularza.</p>";
  39.  
  40. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Fifi209
post 3.10.2009, 19:38:16
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


No dobra, ale gdzie jest problem?

I nie eregi tylko preg_match


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
elan
post 3.10.2009, 20:18:56
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.09.2009

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


Czy te preg match powinienem uzyc jako kolejny elseif? ?
Go to the top of the page
+Quote Post
kubek15
post 3.10.2009, 20:26:22
Post #4





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

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


ja jak sprawdzam poprawnośc mejla to daje
IF($mejl = poprawny) {
ok
} else {
podaj poprawny mejl
}


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 3.10.2009, 20:28:15
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Po prostu dopisać do tego:

  1. elseif (!empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['telefon']) && !empty($_POST['tresc'])) {


a najprościej z filter_var


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
MateuszS
post 3.10.2009, 21:55:25
Post #6





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


  1. function sprawdz_email($email) {
  2. $email = strtolower($email);
  3. return ereg("^[a-z0-9_\\.-]+@([a-z0-9_-]+\\.)+[a-z]{2,}$", $email);
  4. }


  1.  
  2. elseif (!empty($_POST['imie']) && !empty($_POST['email']) && sprawdz_email($_POST['email'])==true && !empty($_POST['telefon']) && !empty($_POST['tresc'])) {



--------------------
O! Zimniok :P
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: 14.08.2025 - 07:32