Валиден емайл
Автор: stoqnski
Здравейте на всички , който четат урока . В този урок ще ви покажа как да си направите функция с която да проверявате дали емайла съществува .
1-ва стъпка :
Стартираме фукнция примерно checkEmail
function checkEmail ( $email )
{
}В тази функция имаме емайла,за всеки случай да я изчистим по следният начин :
$email = htmlspecialchars ( stripslashes ( strip_tags ( $email ) ) , ENT_QUOTES ) ;2-ра стъпка:
Сега ще използваме eregi да проверим форматът на емайла , по принцип трябва да има букви,числа и маймунка ( @ ) и точките . Ето така примерно :
if ( eregi ( ' [ a-z||0-9 ] @ [ a-z||0-9 ] . [ a-z ] ', $email ) )
{
// останалият код тука ..
}
else
{
return false;
}А какво ще стане ако има всички по-горе сменати атрибути ( точки , маймунка и т.н. ) ?
Пример: pesho042-myglata@izmislensait.adasj
- Ами ще проверим дали домейна съществува със fsockopen
if ( @fsockopen ( $domain [ 1 ] , 80, $errno, $errstr, 3 ) ) //Проверява дали може да се свърже със сървърът на порт 80
{
return true;
}
else
{
return false;
}3-та стъпка:
Сега да съединим всичко в едно : [ functions.php ]
function checkEmail ( $email )
{
$email = htmlspecialchars ( stripslashes ( strip_tags ( $email ) ) , ENT_QUOTES ) ;
if ( eregi ( ' [ a-z||0-9 ] @ [ a-z||0-9 ] . [ a-z ] ', $email ) )
{
$domain = explode ( '@', $email ) ;
if ( @fsockopen ( $domain [ 1 ] , 80, $errno, $errstr, 3 ) )
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}Ето и един скрипт , който проверява емайла: [index.php]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Валиден емайл</title>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr>
<td>Е-майл:</td>
<td><input name="email" type="text" id="email" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="виж" /></td>
</tr>
</table>
</form>
<?php
include("functions.php"); // проверката
if($_POST['Submit'])
{
if(checkEmail($_POST['email']))
{
echo "Има такъв емайл!";
}
else
{
echo "Няма такъв емайл адрес.";
}
}
?>
</body>
</html>Надявам се да съм ви бил полезен 🙂 .
Поздрави , Стоянски .


