Stránka 1 z 1

PHP kontrola e-mailu

Napsal: 13 bře 2012 08:24
od Roscow
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>

Re: PHP kontrola e-mailu

Napsal: 13 bře 2012 20:51
od CZechBoY
co si představuješ pod pojmem "kontrola"?

Re: PHP kontrola e-mailu

Napsal: 13 bře 2012 22:57
od Roscow
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? :)

Re: PHP kontrola e-mailu

Napsal: 14 bře 2012 00:06
od CZechBoY
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) );
}

Re: PHP kontrola e-mailu

Napsal: 15 bře 2012 16:53
od Roscow
bohužel mi to nefunguje..kam to mám vložit? záleží na tom?

Re: PHP kontrola e-mailu

Napsal: 15 bře 2012 16:56
od CZechBoY
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…