Toon posts:

[php] emailcontrole

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik een emailcontrole gemaakt die alleen controleerd als er één of meer karakters in het textvak staan. Maar hij werkt dus niet. En ik zie echt niet wat ik fout doe...

Hier de code, misschien dat iemand ziet wat ik niet zie:

// Kijkt als er iets ingevuld is of het een geldig emailadres is.
if($email == ""){
$email_alert = '1';
}

else{
$emailadres = $email;
$landcode = array("nl", "be", "tk");
$emailadres = strtolower($emailadres);
$string = ereg_replace("\.", "", substr($emailadres, -3));

if (eregi ("([A-Z, 0-9])+@([a-z, 0-9])+\.([a-z]{2})", $emailadres))
{
if (ereg ("[!,?,%,#,&,*,\,,\',\",+,^,<,>,\,*,~]", $emailadres))
{
return FALSE;
}
elseif (ereg ('^_', $emailadres))
{
return FALSE;
}
elseif (ereg ('nospam', $emailadres))
{
return FALSE;
}
elseif (in_array($string, $landcode))
{
return TRUE;
}
else
{
return FALSE;
}
}

if ($emailadres == FALSE)
{
$email_alert = "0";
$check = "0";
}

}

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ik zie het :P

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Kijkt als er iets ingevuld is of het een geldig emailadres is.
if($email == "")
{
    $email_alert = '1';
}
else
{
    $emailadres = $email;
    $landcode = array("nl", "be", "tk"); 
    $emailadres = strtolower($emailadres); 
    $string = ereg_replace("\.", "", substr($emailadres, -3)); 

    if (eregi ("([A-Z, 0-9])+@([a-z, 0-9])+\.([a-z]{2})", $emailadres)) 
    { 
        if (ereg ("[!,?,%,#,&,*,\,,\',\",+,^,<,>,\,*,~]", $emailadres)) 
        { 
            return  FALSE; 
        } 
        elseif (ereg ('^_', $emailadres)) 
        { 
            return  FALSE; 
        } 
        elseif (ereg ('nospam', $emailadres)) 
        { 
            return  FALSE; 
        } 
        elseif (in_array($string, $landcode)) 
        { 
            return TRUE; 
        } 
    }// deze ontbrak
    else 
    { 
        return  FALSE; 
    }
} // <- deze moet dus weg

    if ($emailadres == FALSE) 
    { 
        $email_alert = "0";
        $check = "0";
    } 

}

als je gewoon netjes inspringt zie je dat toch vanzelf ;) foei Soet :P

Doet iets met Cloud (MS/IBM)


  • vinnux
  • Registratie: Maart 2001
  • Niet online
Voor controle of de lengte groter is dan 1 teken doe gewoon strlen($field) > 0;
Onderstaande code valideert een email adres.

[offtpic]Net te laat ![/offtopic]
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
     * Checks if the email is a valide one
     **/
    function isEmailAdress($email){
        $isEmailAdress = FALSE;
        if ( $email != '' ) {
            if ( preg_match('/^[a-z0-9\.\-_]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is', $email) ){
     
      
                $isEmailAdress = TRUE;
            }
        }
        return $isEmailAdress;
    }

  • flat
  • Registratie: Mei 2000
  • Niet online
ik vind 't 'n beetje 'n omslchtige methode, maar iig staat er een } op de verkeerde plek
of er meer fout is, kan ik zo niet zien, plaats je code de volgende keer tussen
code:
1
[php] [/]
-tags, dan is 't wat leesbaarder :)

* flat is traag :D

"Happiness is a way of travel, not a destination."
--Roy Goodman


Verwijderd

Topicstarter
Ben ff de nieuwe check aan het inbakken...

Was net een beetje laat...

edit:


VGOUW, heb je stukkie erin gezet en het werkt perfect, scheelt weer een natal regels op deze manier!!


  • Grum
  • Registratie: Juni 2001
  • Niet online
PHP:
1
2
3
4
5
6
7
8
9
<?
 /** 
   * Checks if the email is a valide one 
   **/ 
   function isEmailAdress( $inEmail )
   { 
      return preg_match( '/^[a-z0-9\.\-_]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is', $inEmail );
   }
?> 


meteen maar ff goed doen dan ? :P

(Ben et btw niet eens met de regex .. maar das een ander verhaal)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

ben het ook niet echt eens met de regex.. vooral de domein extensie gedeelte. ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • vinnux
  • Registratie: Maart 2001
  • Niet online
O god daar beginnen we weer !
Als nou iemand ens die RFC er van weet te vinden dan lossen we dit zaakje voor eens en voor altijd op !

Verwijderd

Hier staat overigens een uitgewerkt voorbeeld van email validatie op 3 manieren: format, DNS MX record en SMTP. Het is wel ASP (JScript), maar de concepten zijn natuurlijk makkelijk over te dragen naar PHP / Java.
http://coveryourasp.com/ShowSource.asp?page=ValidateEmail

Enjoy :)
Pagina: 1