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

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.

  1. SzD

    Hali. Ezt hogy tudom használni a weboldalamon egy üzenőfalnál? Nem sikerült összehoznom.

  2. BlackY

    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