Autor | Zpráva | ||
---|---|---|---|
Pearljam Profil |
#1 · Zasláno: 16. 2. 2017, 19:14:33
Objevil jsem problém když mi přišel nevyplněný kontaktní formulář kde nebyla ani email adresa. Zjistil jsem že to dělá Safari, úplně ignoruje required. Jak tento problém vyřešit ? Díky moc za radu.
|
||
Keeehi Profil |
#2 · Zasláno: 16. 2. 2017, 19:55:08
Pearljam:
Na required se nemůžeš nikdy spolehnout. Pokud chceš mít jistotu vyplnění, musíš to kontrolovat na serveru. |
||
Pearljam Profil |
#3 · Zasláno: 16. 2. 2017, 20:09:51
Keeehi:
Problém dělá pouze prohlížeč Safari... Kontrolovat na serveru, tohle moc nechápu jak to provést ? Potřeboval bych aby se formulář prázdný nemohl odeslat a upozornil na povinný input před odesláním. |
||
Slark Profil |
Proto to musíte kontrolovat v PHP nebo jiném serverovém jazyku, který Vám formulář zpracuje. Na JavaScript se nemůžete spolehnout a klient ho může v prohlížeči zakázat.
Ještě viz. Required Attribute Not work in Safari Browser |
||
Keeehi Profil |
#5 · Zasláno: 16. 2. 2017, 21:05:00
Pearljam:
„Kontrolovat na serveru, tohle moc nechápu jak to provést ?“ A jak ten email odesíláš? Pokud to na serveru kontrolovat nebudeš, budeš stejně dostávat prázdné emaily. Třeba od robotů, kteří procházejí stránky a odesílají formuláře. Ty nějaké required vůbec nezajímá. |
||
Pearljam Profil |
#6 · Zasláno: 16. 2. 2017, 22:19:58
Aha, nepochopil jsem správně odpověď "... musíš to kontrolovat na serveru", ano používám PHPmailer k odeslání dat z formuláře. Mohu pomocí PHPmailer nahradit v HTML required, je to možné ?
|
||
Keeehi Profil |
#7 · Zasláno: 16. 2. 2017, 22:23:57
Pearljam:
Ne, ale v kódu, před tím než email odešleš, si zkontroluješ, jestli jsou vyplněna všechna povinná pole. Pokud ano, odešleš email, pokud ne email neodešleš, ale uživateli zobrazíš zpátky formulář a necháš ho to doplnit. |
||
Pearljam Profil |
#8 · Zasláno: 17. 2. 2017, 13:44:57
Keeehi:
Ano, děkuji přesně tak jak je to napsáno, je to možnost aby formulář byl vyplněný podle požadavku. Píše se to přímo v PHPmailer nebo je někde k vidění nějaký návod ? |
||
Tomášeek Profil |
#9 · Zasláno: 17. 2. 2017, 15:06:25
Pearljam:
PHPMailer se podle svého jména stará jen o odeslání mailu. Formuláře neověřuje. Ty potřebuješ u povinných polí kontrolovat minimálně, jestli jsou vyplěněná (= !empty ), u mailu se hodí kontrolovat i formát (filter_var ), aby neprošel "mail" ve tvaru "abcd". Na kontolu třeba PSČ/tel.č. pak slouží regulární výrazy, funkce preg_match .
|
||
Časová prodleva: 7 let
|
0