Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]problem z walidacją adresu email
imysz
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 16.08.2009

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


Witam. Tworzę formularz rejestracji i mam problem z sprawdzeniem poprawności adresu email. by był on w formacie np. nazwa@gmail.com.
stosuję taki fragment do tego:

  1. function valid_email($email)
  2. {
  3. if (preg_match("/^([a-z0-9+_-]+)(.[a-z0-9+_-]+)
  4. *@([a-z0-9-]+.)+[a-z]{2,6}$/ix", $email))
  5. return true;
  6. else
  7. return false;
  8. }
  9.  
  10. if (!valid_email($email))
  11. echo "poprawny";
  12. else echo "Nie poprawy adres e-mail";


ale mimo wpisania niepoprawnego adresu(np. nazwa) rekord dodaje się do bazy

oto cały kod kod, poprawnie jest napisany?:

  1. <?php
  2.  
  3.  
  4. $login = $_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $haslo2 = $_POST['haslo2'];
  7. $email = $_POST['email'];
  8.  
  9.  
  10.  
  11.  
  12. $login = trim($login);
  13. $haslo = trim($haslo);
  14. $haslo2 = trim($haslo2);
  15. $email = trim($email);
  16.  
  17. // sprawdzenie poprawnosci loginu
  18.  
  19. if(!$login || !$haslo || !$haslo2 || !$email)
  20. {
  21. if(empty($login))
  22. {
  23. echo 'Pole login nie zostało wypełnione<br/>';
  24. }
  25.  
  26. $db= mysql_connect('localhost', 'db994313', 'pizgafurtke');
  27. mysql_query("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
  28. mysql_select_db('db994313');
  29.  
  30. $zapytanie = "select * from uzytkownicy where login='$login'";
  31. $wynik_login = mysql_query($zapytanie);
  32. $wynik_login_rezultat = mysql_num_rows($wynik_login);
  33. if($wynik_login_rezultat > 0)
  34. {
  35. echo 'Login jest już używany<br/>';
  36. }
  37.  
  38. if(strlen($login)<5)
  39. {
  40. echo 'Login powinien zawierać przynajmniej 5 znaków<br/>';
  41. }
  42.  
  43. if(strlen($login) > 16)
  44. {
  45. echo 'Login powinien zawierać maksynmalnie 16 znaków';
  46. }
  47.  
  48. // sprawdzenie hasla
  49. if(empty($haslo))
  50. {
  51. echo 'Pole haslo nie zostalo wypelnione<br/>';
  52. }
  53. if(empty($haslo2))
  54. {
  55. echo 'Pole z potwierdzeniem hasła nie zostało wypełnione<br/>';
  56. }
  57. if(strlen($haslo) < 4)
  58. {
  59. echo 'Hasło powinno zawierać przynajmniej 5 znaków<br/>';
  60. }
  61. if(strlen($haslo2) <5)
  62. {
  63. echo 'Hasło powinno zawierać przynajmniej 5 znaków<br/>';
  64. }
  65. if($haslo !=$haslo2)
  66. {
  67. echo 'Podane hasła różnią się do siebie<br/>';
  68. }
  69.  
  70. // sprawdzenie adresu email
  71. if(empty($email))
  72. {
  73. echo 'Pole email nie zostało wypełnione';
  74. }
  75.  
  76. $zapytanie_email = "select * from uzytkownicy where email='$email'";
  77. $wynik_email = mysql_query($zapytanie_email);
  78. $wynik_email_rezultat = mysql_num_rows($wynik_email);
  79. if($wynik_email_rezultat > 0)
  80. {
  81. echo 'Podany email jest już zarejestrowany<br/>';
  82. }
  83.  
  84. function valid_email($email)
  85. {
  86. if (preg_match("/^([a-z0-9+_-]+)(.[a-z0-9+_-]+)
  87. *@([a-z0-9-]+.)+[a-z]{2,6}$/ix", $email))
  88. return true;
  89. else
  90. return false;
  91. }
  92.  
  93. if (!valid_email($email))
  94. echo "poprawny";
  95. else echo "Nie poprawy adres e-mail";
  96.  
  97. }
  98. else{
  99. $zapytanie_dodaj = "insert into uzytkownicy values('".$login."', sha1('".$haslo."'), '".$email."')";
  100. $wyslij_zapytanie = mysql_query($zapytanie_dodaj);
  101. if($wyslij_zapytanie){
  102. echo 'Rejestraja ukończona pomyślnie';
  103. }
  104.  
  105.  
  106.  
  107. }
  108. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 17:21