Autor | Zpráva | ||
---|---|---|---|
Káčer Profil |
Ahoj, potřeboval bych pomoc s kontrolou vypsání malého formuláře, aby mě nebyl poslán prázdný, ale kontrola aby proběhla před odesláním.
if ($_POST) { $to = "tvorba@webkacer.eu"; $email = $_POST['mailodes']; $extra = "From: $email\r\nReply-To: $email\r\n"; $subject = "Objednávka od $email"; $mess = "Jméno: ".$_POST['jmeno'] . "\nPříjmení ".$_POST['prijmeni']."\nEmail: ".$email."\n Web: ".$_POST['web'] . "\nTyp stránek ".$_POST['typ'] . "\nPopis stránek ".$_POST['popis'] . "\nDatum vyplnění ".$_POST['datum']; if(!cs_mail ($to, $subject, $mess, $extra)) echo('<div id="result">Vaše objednávka nebyla odeslána!</div>'); else echo('<div id="result">Vaše objednávka byla odeslána!</div>'); } ?> Díky za pomoc |
||
Joker Profil |
#2 · Zasláno: 30. 8. 2011, 14:00:00
Káčer:
Javascriptovou validací, ukázka například zde |
||
Rellik Profil |
#3 · Zasláno: 30. 8. 2011, 20:31:51 · Upravil/a: Rellik
Joker:
A co když vypnu javascript? JS validace je pak fuč... Raděj bych to řešil přímo scriptem. Káčer: v php zkontroluj odeslané pole zda jsou nebo nejsou prázdné a podle toho pak formulář odešli nebo vrať k doplnění.. např. takto nějak to řeším já: <?php //nějaký kód if($jmeno & $prijmeni & $ulice & $mesto) { if(!is_numeric($psc & $telefon)) { echo "<span class='red'>PSČ a telefon musí být pouze čísla!</span>"; } else { if (!preg_match ("/^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,6}+$/", $email)) { echo "<span class='red'>Emailová adresa nebyla vyplněna správně!</span>"; } else { // tady je script na odeslání } } } else { echo "<span class='red'>Formulář není správně vyplněn!</span>"; } ?> Chtělo by to ještě ošetřit odeslání pouhých "prázdných" znaků (vyplnění formuláře jedním klikem na merezník), ale tohle jako malá inspirace snad stačí.. ;) |
||
Joker Profil |
#4 · Zasláno: 30. 8. 2011, 22:00:03
Rellik:
„A co když vypnu javascript?“ Tak se mu to před odesláním nezkontroluje a zkontroluje to až server po odeslání. Pravda, zapomněl jsem pro jistotu zdůraznit, že je samozřejmě potřeba i validace na serveru. Jinak is_numeric není úplně vhodná kontrola na PSČ a telefon, protože pak kontrolou PSČ neprojde třeba "110 00", zatímco projde třeba "0", "0.e0" nebo "0xBADF00D". |
||
Časová prodleva: 1 měsíc
|
|||
Daf Profil |
#5 · Zasláno: 30. 9. 2011, 13:09:47
Diky. A nevíte jak by to mělo vypadat, kdybych chtěl mít i kontrolu zda email existuje? Kde bych to mohl popřípadě najít?
|
||
okolojdouci Profil * |
#6 · Zasláno: 30. 9. 2011, 13:24:03
Ověřit existenci emailu nelze. Ověřit to, jestli mail je uveden smysluplně, tzn. znaky@domena.tld, lze např. pomocí regulárů, hledej tady v diskusi.
|
||
Majkl578 Profil |
#7 · Zasláno: 30. 9. 2011, 14:26:17
Pomocí kontroly MX záznamů jde ověřit, jestli doména může e-maily mít (funkce getmxrr). Existenci konkrétního e-mailu bezpečně ověříš jen tak, že na něj zašleš nějaký kontrolní klíč/odkaz (jako se to dělává při registracích).
|
||
Časová prodleva: 13 let
|
0