a testoval jsem to vypadá to nějak takto
Kód: Vybrat vše
<?php
/** Kontrola e-mailové adresy
* @param string e-mailová adresa
* @return bool syntaktická správnost adresy
* @copyright Jakub Vrána, http://php.vrana.cz/
*/
$ema = "test@seznam.cz";
function check_email($email) {
$atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // znaky tvořící uživatelské jméno
$domain = '[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])'; // jedna komponenta domény
return eregi("^$atom+(\\.$atom+)*@($domain?\\.)+$domain\$", $email);
}
if(check_mail($ema) != false)
{
echo "správně";
} else echo "špatně";
?>
zkoušel jsem to na vlastním VPS a endoře
ale vždy v prohlížeci to vrátí prázdnou stránku i po zadání jiného mailu nebo nějaké blbosti
a když to dám do základního html dokumentu mezi tagy body a samozřejmě uložím s příponou .php
Kód: Vybrat vše
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title></title>
</head>
<body>
<?php
/** Kontrola e-mailové adresy
* @param string e-mailová adresa
* @return bool syntaktická správnost adresy
* @copyright Jakub Vrána, http://php.vrana.cz/
*/
$ema = "test@seznam.cz";
function check_email($email) {
$atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // znaky tvořící uživatelské jméno
$domain = '[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])'; // jedna komponenta domény
return eregi("^$atom+(\\.$atom+)*@($domain?\\.)+$domain\$", $email);
}
if(check_mail($ema) != false)
{
echo "správně";
} else echo "špatně";
?>
</body>
</html>
tak mi to jak na endoře tak na vlastním VPS vyjede jen začátek dokumentu, koukal jsem se do zdrojového kódu v prohlížeci dolejšek se jakoby ztratil např. ukončení body,html, tak se ptám jestly potřebuju nějakou knihovnu/plugin pro php nainstalovat na VPS ta endora byla jen zkušební
mě to příjde jako by se funkce eregi nevyvolala a skončil dokument před vlastní funkcí a dolejšek se nedonačetl zkoušel jsem i verzi kontroly mailu s preg_match a to samé
Kód: Vybrat vše
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title></title>
</head>
<body>
a ještě jsem viděl kontrolu tvaru mailu takto, ale to také nefunguje
Kód: Vybrat vše
<?php
$emai = "test@seznam.cz"
if(filter_var($emai, FILTER_VALIDATE_EMAIL) == false) echo "špatně";
else echo "dobře";
?>
mohl by mi s tim někdo pomoct? díky
--- Doplnění předchozího příspěvku (31 Črc 2014 18:45) ---
nevim kde byla chyba ale toto funguje
Kód: Vybrat vše
<?php
if (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", "test@seznam.cz")) {
echo "špatně";
} else
{
echo "dobře";
} ?>