Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Sprawdzanie poprawności emaila w formularzu
Tamir
post 7.08.2010, 18:02:22
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 7.08.2010

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


Zastosowałem jeden z dostępnych w sieci skryptów na sprawdzanie poprawności emaila w formularzu, ale ciągle mi jakiś błąd wyskakuje i to jest wynik mojej implementacji, a nie samego skryptu. Próbuję zrobić tak żeby w zależności od poprawności składni podanego emaila, mail był wysłany lub nie.
Dopiero się uczę php, i liczę że może ktoś bardziej oblatany w tym temacie mógłby mi coś podpowiedzieć worriedsmiley.gif .

  1. <span>Formularz kontaktowy:</span>
  2. <div style="margin-top: 5px;">
  3.  
  4. <?
  5. // Funkcja sprawdzajaca poprawnosc maila
  6. function check_mail($email)
  7. {
  8. $regexp = "/^([[:alnum:]]([[:alnum:]_\.:-])?)+@([[:alnum:]][[:alnum:]_\.:-]+[[:alnum:]]\.)?((([[:alnum:]]([[:alnum:]_\.:-]{1,59})?[[:alnum:]])|[[:alnum:]])\.)([a-z]{2,4}|[0-9]{1,3})$/i";
  9. $email = strtolower($email);
  10.  
  11. if(preg_match($regexp, $email)) {
  12.  
  13. $check = '<font color=green>email ok</font>';
  14. }
  15. else {
  16.  
  17. $check = '<font color=red>Błędny email</font>';
  18. }
  19. return $check;
  20.  
  21. };
  22. ?>
  23.  
  24.  
  25.  
  26. <?
  27. if($_POST['submit'])
  28. {
  29. echo check_mail($_POST['email']);
  30. }
  31. ?>
  32.  
  33. <?
  34. if ($_POST["wyslij"]==1) {
  35. srand((double)microtime()*1000000);
  36. $znacznik = md5(uniqid(rand()));
  37. if (!empty($_POST['osoba']) && !empty($_POST['email']) && !empty($_POST['tresc'])) {
  38.  
  39. $regexp = "/^([[:alnum:]]([[:alnum:]_\.:-])?)+@([[:alnum:]][[:alnum:]_\.:-]+[[:alnum:]]\.)?((([[:alnum:]]([[:alnum:]_\.:-]{1,59})?[[:alnum:]])|[[:alnum:]])\.)([a-z]{2,4}|[0-9]{1,3})$/i";
  40. $email = strtolower($email);
  41. if(preg_match($regexp, $email)) {
  42.  
  43.  
  44.  
  45.  
  46.  
  47. // dane o odbiorcy, nadawcy
  48. $odbiorca="tomaszmikosz@gmail.com";
  49. $odbiorca2=$_POST['email'];
  50. $tytul="Wiadomość - YPI Consulting";
  51. $tytul2="Potwiedzenie - YPI Consulting";
  52. $nadawca_imie = ".$_POST[imie].";
  53. $nadawca_email = ".$_POST[email].";
  54.  
  55. // tresc listu
  56. $tresclistu ="
  57. Dane kontaktowe:\n Imię i nazwisko: ".$_POST[osoba]."\n E-mail: ".$_POST[email]."\nNuner telefonu: ".$_POST[tel]."\n\n
  58. Temat: ".$_POST[temat]."
  59. Treść korespondencji: \n \n".$_POST[tresc]."
  60. ";
  61.  
  62. // tresc listu 2
  63. $tresclistu2 ="
  64. Dziękujemy za wypełnienie formularza. \n
  65. Skontaktujemy się z Państwem niebawem.
  66. ";
  67.  
  68.  
  69. // definicja naglówków
  70. $naglowki = "From: <".$nadawca_imie."> <".$nadawca_email.">\n";
  71. $naglowki .= "MIME-Version: 1.0\n";
  72. $naglowki .= "Content-Type: multipart/mixed;\n";
  73. $naglowki .= "\tboundary=\"___$znacznik==\"";
  74.  
  75. // naglówki listu
  76. $tresc="--___$znacznik==\n";
  77. $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  78. $tresc .="Content-Transfer-Encoding: 8bit\n";
  79. $tresc .="\n".$tresclistu."\n";
  80.  
  81. // naglówki listu 2
  82. $tresc2="--___$znacznik==\n";
  83. $tresc2 .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  84. $tresc2 .="Content-Transfer-Encoding: 8bit\n";
  85. $tresc2 .="\n".$tresclistu2."\n";
  86.  
  87. // wyslanie listu
  88. mail($odbiorca,$tytul,$tresc,$naglowki)
  89. or die('<p style="color: #0099FF; text-align: center;"> Wiadomość nie została wysłana! Spróbuj jeszcze raz. </p>');
  90. mail($odbiorca2,$tytul2,$tresc2,$naglowki)
  91. or die('<p style="color: #0099FF; text-align: center;"> Wiadomość nie została wysłana! Spróbuj jeszcze raz. </p>');
  92. echo('<p style="color: #0099FF; text-align: center;"><strong>Dziękujemy wiadomość została wysłana.</strong></p>');}
  93. // wyswietlenie komunikatu w przypadku powodzenia
  94. else echo ('<p><span style="color: #FF0000; text-align: center;">proszę wypełnić pola oznaczone * <br><br></span></p>');
  95. }
  96. }
  97. // lub w przypadku nie wypelnienia formularza do konca
  98.  
  99. // wyswietlamy formularz
  100. echo '<div id="send"><form method="post" name="AForm" action="" enctype="multipart/form-data" onSubmit="return validateForm(this);">
  101. <fieldset>
  102. <input type="hidden" name="wyslij" value="1" />
  103. <input type="hidden" name="MAX_FILE_SIZE" value="120000" />
  104. <input type="hidden" name="s" value="projektowanie_stron_internetowych" />
  105.  
  106. <p><label>Nazwa firmy / imię i nazwisko:* </label>
  107. <input name="osoba" type="text" size="40" /></p>
  108. <p><label>E-mail*: </label>
  109. <input name="email" type="text" size="40" /></p>
  110.  
  111. <p><label>Numer telefonu:</label>
  112. <input name="tel" type="text" size="40" /></p>
  113. <p><label>Temat:*</label>
  114. <input name="temat" type="text" size="40" /></p>
  115. <p><label>Treść korespondencji:*</label>
  116. <textarea name="tresc" cols="150" rows="20" style="width: 560px; float: left;"></textarea></p>
  117. </fieldset>
  118.  
  119. <div class="wyslij2">* pola wymagane</div>
  120. <div class="wyslij2">
  121. &nbsp;&nbsp;&nbsp;<input name="submit" value="&nbsp; Wyślij &nbsp;" style=" color:#FFFFFF;" class=formb type="submit" /> </div>
  122. </form></div>';
  123.  
  124. ?>
  125.  
  126.  
  127. </div>
Go to the top of the page
+Quote Post
pablo_83
post 7.08.2010, 18:17:42
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 16
Dołączył: 11.01.2009
Skąd: wrocław

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


napisz jaki błąd Ci wyskakuje, czego się czepia...?
Go to the top of the page
+Quote Post
Tamir
post 7.08.2010, 18:29:57
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 7.08.2010

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


Czepia się że wszystkie pola nie są wypełnione, chociaż je uzupełniam. Z tego powodu nie wysyła maila.
http://wizard.uek.krakow.pl/~s140645/mailtest/formularz.php
Go to the top of the page
+Quote Post
thek
post 7.08.2010, 21:55:35
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To zrób sensowne komunikaty błędów... I wyświetlaj sobie var_dump($_POST) to będziesz wiedział gdzie masz zonka smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 26.04.2024 - 05:23