Amikor regisztrálsz egy weboldalon, az oldal általában leellenőrzi, hogy a beírt e-mail címed szabályos formátumú-e. Ehhez szükségünk van egy sztringre (pl.: $email), hogy összehasonlítsuk a szabvánnyal.
<html>
<head><title></title></head>
<body>
<?php
ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$]",
$email);
?>
</b>
</body>
</html>
A szkript most csak a sztringet ($email) ellenőrzi, de semmilyen változót nem ad ki. Így egy IF függvényt kell beágyaznunk, ami - ha a sztring nem egyezik a szabványossal -, egy logikai változóval tér vissza.
<html>
<head><title></title></head>
<body>
<?php
if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$]", $email));
{
return FALSE;
}
?>
</b>
</body>
</html>
Ez egy alap ellenőrző szkript, de többet is csinálunk. Most megvizsgáljuk a domain nevet a @ után, hogy valós-e. (Ezt akkor tehetjük meg, ha létezik egy MX rekord ennek a domain névnek. Ha a domain 25-ös portja nyitott, akkor a domain név használatban van.)
<html>
<head><title></title></head>
<body>
<?php
list($Username, $Domain) = split("@",$email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
?>
</b>
</body>
</html>
Szerző: Balo
Harder
Profil
Korábbi hozzászólások (2)
A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.
Hali. Ezt hogy tudom használni a weboldalamon egy üzenőfalnál? Nem sikerült összehoznom.
SzD: Keress rá netszerte, van kismillió isValidEmail() és hasonló függvény (vagy a fentiből is össze copy-pastelhetsz egyet, bár az ereg* függvények PHP 6-tól megszűnnek, egy socketet nyitni meg felesleges szvsz.).
BlackY
Van hozzáfűznivalód? Írj nekem közvetlenül.
Kapcsolat