PHP kontrola e-mailu

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
Roscow
Level 2.5
Level 2.5
Příspěvky: 268
Registrován: únor 08
Bydliště: Huštěnovice
Pohlaví: Muž
Stav:
Offline
Kontakt:

PHP kontrola e-mailu

Příspěvekod Roscow » 13 bře 2012 08:24

ahoj, chtěl bych poprosit, jestli mi někdo může poradit s vložením PHP kontroly emailu do formuláře..podle návodů z netu mi to nefunguje..může mi někdo poradit, jak a kam kód vložit? :)

<Title>Objednávka</Title>
<?php
$jmeno = $_POST['jmeno'];
$bydliste = $_POST['bydliste'];
$psc = $_POST['psc'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];
$prijezd = $_POST['prijezd'];
$odjezd = $_POST['odjezd'];
$sluzba = $_POST['sluzba'];
$pobyt = $_POST['pobyt'];
$textPole = $_POST['textPole'];


$zprava = "\nJméno: $jmeno
\nBydliště: $bydliste
\nPSČ: $psc
\nTelefon: $telefon
\nEmail: $email
\nDatum příjezdu: $prijezd
\nDatum odjezdu: $odjezd
\nZvolená služba: $sluzba
\nDélka pobytu: $pobyt
\nPoznámka: $textPole";

$zprava=Base64_Encode($zprava);
$hlavicka .= "Reply-to:$email\r\n".
"MIME-Version: 1.0\r\n".
"Content-Type: text/plain; charset=\"windows-1250\"\r\n".
"Content-Transfer-Encoding: base64\r\n".
"Bcc:$email";


$spam = $_POST['kontrola'];



if ($jmeno!="" and
$bydliste!="" and
$psc!="" and $telefon!="" and
$email!="" and $prijezd!="" and
$odjezd!="" and $sluzba!="" and
$pobyt!="" and
$kontrola=="4")




{
If(Mail("maturitni.projekt@centrum.cz", "Objednavka: " . $email, $zprava, $hlavicka))

echo "<script type='text/javascript'>alert('Email byl uspesne odeslan na e-mail poskytovatele i na Vas e-mail.')</script>";
Else
echo "<script type='text/javascript'>alert('Chyba pri odesilani mailu ve funkci Mail.')</script>";



}

else
{
echo "<script type='text/javascript'>alert('Email neodeslan z duvodu nevyplneni vsech udaju nebo spatne zadaneho vysledku.')</script>";
}

/*
{
If(Mail($email, "Objednavka", $zprava, $headers))

echo "<script type='text/javascript'>alert('Email byl uspesne odeslan na Vas e-mail.')</script>";
Else
echo "<script type='text/javascript'>alert('Chyba pri odesilani mailu ve funkci Mail.')</script>";
}

else
{
echo "<script type='text/javascript'>alert('Spatne zadane udaje.')</script>";
}

*/


?>

<script>window.location.href="http://rsskleniky.ic.cz/objednat.html";</script>
Jsem takový jaký jsem

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP kontrola e-mailu

Příspěvekod CZechBoY » 13 bře 2012 20:51

co si představuješ pod pojmem "kontrola"?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Roscow
Level 2.5
Level 2.5
Příspěvky: 268
Registrován: únor 08
Bydliště: Huštěnovice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP kontrola e-mailu

Příspěvekod Roscow » 13 bře 2012 22:57

tím myslím abych zamezil např. tomuto: gfsdl@fsdl.fdhsauo, nebo jen fhdsj...prostě toto když napíšeš, takovou blbost, tak se to stejně odešle a proto potřebuji kód, který toto odstraní, může být i JavaScript, to je jedno..myslíš, že bys to svedl? :)
Jsem takový jaký jsem

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP kontrola e-mailu

Příspěvekod CZechBoY » 14 bře 2012 00:06

stačí jednoduchej regulární výraz, samozřejmě existují nejpoužívanější tld (cz, sk, net, com, eu; ostatní moc nevídám) a tím můžeš zamezit i 3 písmenným vymyšleným tld
pak samozřejmě lze ještě zkontrolovat MX záznamy mail serveru té domény...

mě osobně stačí ten regulární výraz, když někdo bude zkoušet jakej email tam projde tak stejně skončí u něčeho jako neexistuje@seznam.cz

touto funkcí jednoduše zkontroluješ jestli je emailová adresa ve správném formátu (bez ohledu na existující tld, domény, …)
použití:
if(is_email($email)==false) {echo "Váš email není platný";}
PHP is_email - regulární výraz píše:function is_email($email)
{
return !(!preg_match('/[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})/i', $email) );
}
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Roscow
Level 2.5
Level 2.5
Příspěvky: 268
Registrován: únor 08
Bydliště: Huštěnovice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP kontrola e-mailu

Příspěvekod Roscow » 15 bře 2012 16:53

bohužel mi to nefunguje..kam to mám vložit? záleží na tom?
Jsem takový jaký jsem

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP kontrola e-mailu

Příspěvekod CZechBoY » 15 bře 2012 16:56

kamkoliv, tu funkci pak musíš taky použít :D
to if(is_email($email)) dej třeba k tý podmínce jak kontroluješ prázdný hodnoty…
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • 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 6 hostů