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.
1 2 3 4 5 6 7 8 9 10 11 | <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.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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.)
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 | <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
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