php - kontrola tvaru mailu Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1395
Registrován: červen 13
Pohlaví: Muž
Stav:
Offline
Kontakt:

php - kontrola tvaru mailu  Vyřešeno

Příspěvekod rhsCZ » 31 črc 2014 17:48

zdravím našel jsem si na netu vlastní funkci pro kontrolu tvaru mailu
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";
} ?>



„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ

Reklama
  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 10 hostů