Warning Nu esti autentificat. Te rog autentifica-te sau inregistreaza-te pentru a avea acces la toate facilitatile forumului.
SkullBox  
Noiembrie 23, 2008, 03:32:39 pm
Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
Noutăţi: SmLex DeviantART
 
 SkullBoxDirector webTutoriale  Pagina principală   Ajutor Caută Autentificare Creează un cont  
Pagini: [1]
  Imprimă  
Subiect: Valideaza EMail in PHP  (Citit de 1125 ori)
0Utilizatori şi 1 Vizitatori
Agkelos
Administrator
Hero Member
*****
Conectat Conectat

Gen: Bărbat
Mesaje: 4759



WWW
Valideaza EMail in PHP, Mai 12, 2007, 09:36:57 pm

Functia de validare adresa de E-Mail se foloseste de functia validDomain(), deci trebuie inclusa inainte sa o puteti folosi.

Userul poate fi format doar din caracterele {a-z0-9._-}. Ca sa se accepte si altele trebuie modificat in ereg().

Cod:
function validMail($mail){
// Returneaza True daca e valida adresa de mail
// Returneaza False daca nu e valida
$mail = explode('@',$mail);
// Se separa stringurile folosind ca delimitator @
// Trebuie sa fie cel mult doua parti
// Daca sunt mai mult de doua string-uri in array-ul rezultat
// sunt mai mult semne @, deci nu e adresa valida
if( count($mail) > 2 ) return False;

// Domeniul trebuie sa fie valid
// Se accepta doar mailuri de pe domenii, nu si subdomenii
if( !validDomain($mail[1]) ) return False;

// Se pot adauga in lista si alte caractere.
// Default sunt permise doar cele mai folosite
if( !eregi('^[a-z0-9._-]{1,64}$',$mail[0]) ) return False;
return True;
}
Memorat


soltare
Sr. Member
****
Deconectat Deconectat

Mesaje: 273



WWW
Valideaza EMail in PHP, Mai 13, 2007, 07:44:44 am

Sal',
Chiar imi trebuia o idee. M-ai scutit de munca, ca trebuia sa scot PHP-ul de la naftalina Big grin Aveam un cod facut de mine, dar nu verifica domenii si doar daca respecta caractere@caractere.caractere (adica @ si .). Al tau este mai complex. Acum sa vad cum imi amintesc PHP cu functiile ca sa includ functia ta Winking
Ce batai de cap mi-a mai dat o chestie: PHP si atasamentele la mail, dar am impresia ca am mai vazut chestia asta pe forum, deci nu te stresez Big grin
Memorat
Agkelos
Administrator
Hero Member
*****
Conectat Conectat

Gen: Bărbat
Mesaje: 4759



WWW
Valideaza EMail in PHP, Mai 13, 2007, 09:29:27 am

Well... cand nu te descurci, shoot ! Winking
Memorat


TE4L
Hero Member
*****
Deconectat Deconectat

Mesaje: 599



WWW
Valideaza EMail in PHP, Iunie 19, 2008, 07:26:19 pm

Cod:
function validMail($mail){
    $mail = explode('@',$mail);
    if( count($mail) > 2 || count($mail) == 1) return false;
    if( !validDomain($mail[1]) ) return false;
    if( !eregi('^[a-z0-9._-]{1,64}$',$mail[0]) ) return false;
    return true;
}
eu zic ca trebuie si linia asta Big grin
Cod:
if( count($mail) > 2 || count($mail) == 1) return false;
Memorat


"Not only the wisdom of centuries — also their madness breaketh
out in us. Dangerous is it to be an heir."

Nietzsche
Agkelos
Administrator
Hero Member
*****
Conectat Conectat

Gen: Bărbat
Mesaje: 4759



WWW
Valideaza EMail in PHP, Iunie 19, 2008, 08:05:19 pm

I don't get it  :/
Memorat


AdyX
Bagabond
Global Moderator
Hero Member
*****
Conectat Conectat

Gen: Bărbat
Mesaje: 987


WWW
Valideaza EMail in PHP, Iunie 19, 2008, 08:48:23 pm

Cred ca se refera la cazul in care nu exista niciun "@".
Memorat
Agkelos
Administrator
Hero Member
*****
Conectat Conectat

Gen: Bărbat
Mesaje: 4759



WWW
Valideaza EMail in PHP, Iunie 19, 2008, 09:03:27 pm

Da... dar nu prea are sens pentru ca in cazul in care are mai putin de doua elemente va da eroare la urmatoarea verificare - un string de lungime zero nu poate fi un domeniu valid.
Memorat


AnDrEwBoY
Newbie
*
Deconectat Deconectat

Mesaje: 16


Valideaza EMail in PHP, Iulie 04, 2008, 08:13:27 pm

Aceasta este functia pe care o folosesc eu....mai lunga dar mai eficienta:)

Cod:
function valid_email($email) {/
  // verificam dak exista un singur @ si dak lungimea e buna
  if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
    return false;
  }
  // impartim in mai multe parti:)
  $email_array = explode("@", $email);
  $local_array = explode(".", $email_array[0]);
  for ($i = 0; $i < sizeof($local_array); $i++) {
     if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
      return false;
    }
  }  
  if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { verificam daca avem ip dak nu ar trebui sa fie domeniu
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
        return false;
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
      if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
        return false;
      }
    }
  }
  return true;
}
Memorat
detective
Full Member
***
Deconectat Deconectat

Mesaje: 125


Valideaza EMail in PHP, Septembrie 18, 2008, 08:58:45 pm

Citat din mesajul lui: AnDrEwBoY
Aceasta este functia pe care o folosesc eu....mai lunga dar mai eficienta:)

Cod:
function valid_email($email) {/
  // verificam dak exista un singur @ si dak lungimea e buna
  if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
    return false;
  }
  // impartim in mai multe parti:)
  $email_array = explode("@", $email);
  $local_array = explode(".", $email_array[0]);
  for ($i = 0; $i < sizeof($local_array); $i++) {
     if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
      return false;
    }
  }  
  if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { verificam daca avem ip dak nu ar trebui sa fie domeniu
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
        return false;
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
      if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
        return false;
      }
    }
  }
  return true;
}
As dori sa folosesc si eu snippet-ul de mai sus sa imi verific input-ul adresei de e-mail dintr-un formular pe care il am pe un site, cum apelez la acea functie de mai sus ca sa verific ?
De ex input-ul adresei de e-mail vine in $adresa prin cod-ul
Cod:
$adresa = $_POST['email'];
Cum fac sa arate de genu;

Cod:
If
Invalid - Echo "Introdu o adresa de e-mail valida!!"
else
continua cod
Ma intereseaza in special acea ordine cu false-ul primul si al 2-lea sa fie true-ul, pt ca asa mi-e mai usor sa inteleg, stilul acesta de cascada, fiind incepator.

multumesc anticipat
Memorat
AdyX
Bagabond
Global Moderator
Hero Member
*****
Conectat Conectat

Gen: Bărbat
Mesaje: 987


WWW
Valideaza EMail in PHP, Septembrie 19, 2008, 05:46:52 pm

Cod:
if(!valid_email($_POST['email'])) echo 'Invalida';
else echo 'Merge';
Memorat
detective
Full Member
***
Deconectat Deconectat

Mesaje: 125


Valideaza EMail in PHP, Septembrie 26, 2008, 09:21:46 pm

Am reusit, ms
Memorat
HostGator
Newbie
*
Mesaje: Multe

Reclamă cu aligatori
 

Ai auzit de aligatorul care ofera hosting?
 
   
Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Creat cu MySQL Creat cu PHP Ethical hacking and programming community Director web romanesc cu inscriere gratuita Validat cu XHTML 1.0! Validat cu CSS!
IPFind, FAQDB, LAMP.ro, Good Proxy, Aberez.EU, RoFreeSBIE, ShockingSoft.com, HostVision, Invatam.net, PC Troubleshooting, Curs valutar online
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro