Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]sprawdzanie poprawności adresu email
peter13135
post 11.08.2008, 14:51:50
Post #1





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


funkcja znaleziona na php.pl
  1. <?php
  2. function checkEmail($email) {
  3.  if (!preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9._-] +)+$/" , $email)) {
  4. return false;
  5.  }
  6.  return true;
  7. }
  8. ?>


jednak mi ona niedziała
stosuje ją w ten sposób

  1. <?
  2. include 'includes/functions.php';
  3. $email=$_GET['email'];
  4. if(checkEmail($email) == false) {$reg_error="email nieprawidłowy";}
  5. echo $reg_error;
  6. ?>


i co bym niewpisał to email nieprawidłowy


--------------------
:)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
decha-design
post 11.08.2008, 15:04:52
Post #2





Grupa: Zarejestrowani
Postów: 415
Pomógł: 46
Dołączył: 26.05.2007
Skąd: Sandomierz

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


może tak?

  1. <?php
  2. if(checkEmail($email)===false)
  3. ?>


Ten post edytował decha-design 11.08.2008, 15:14:32


--------------------
Go to the top of the page
+Quote Post
Shili
post 11.08.2008, 15:11:16
Post #3





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Usuń te spacje, w wyrażeniu nie powinno być żadnej.
Go to the top of the page
+Quote Post
barthpl
post 11.08.2008, 15:16:23
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


problem chyba jest w złej funkcji a nie w znaku równości. Spróbuj tak:
  1. <?php
  2. function checkEmail($email) {
  3. if (!preg_match("/^([a-zA-Z0-9]+)([a-zA-Z0-9._-]*)@([a-zA-Z0-9_-]+)([a-zA-Z0-9._-]+)([a-zA-Z]+)$/" , $email))
  4. return false;
  5. return true;
  6. }
  7. ?>


--------------------
Jeżeli pomogłem rozwiązać Twój problem, kliknij pomógł.
Go to the top of the page
+Quote Post
rybik
post 12.08.2008, 08:28:21
Post #5





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 29.07.2006

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


co prawda BanAn@PALMA.pl i banan@palma.pl to inne adresy ale wielkośc liter nie ma nic współnego z poprawnością adresu, można więc spokojnie zoptymalizować wyrażenie do postaci:

  1. <?php
  2. function checkEmail($email) {
  3. if (!preg_match("/^([A-Z0-9]+)([A-Z0-9._-]*)@([A-Z0-9_-]+)([A-Z0-9._-]+)([A-Z]+)$/i" , $email))
  4. return false;
  5. return true;
  6. }
  7. ?>


ogólnie zachęcam do skracania patternów do postaci case-insensitive
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: 19.07.2025 - 09:49