Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Kontaktný formulár s kontrolou a potvrdením stále obnovuje stránku

Cisco_lama
verified
rating uzivatele
14. 4. 2016 15:43:48
Čaute,
snažím sa vytvoriť jednostránkový web s kontaktným formulárom, ktorý je umiestnený na spodnej časti stránky. Snažím sa vytvoriť php skript, ktorý by skontroloval povinne vyplnené polia. V prípade, že povinné pole nie je vyplnené povinné polia sa vyfarbia. Ak užívateľ vyplní povinné polia odošle sa email. To zatiaľ ako tak funguje, ale stránka sa po "submit" stále znova načíta a užívateľ opäť musí skrolovať na spodnú časť stránky (a je jedno, či to hlási, že musí vyplniť povinné polia, alebo sa email odoslal).
Vyskúšal som to aj cez AJAX, ale žiadny výsledok resp. po AJAX to nerobí vôbec nič.
Môj php kód vyzerá nasledovne:
index.php
contact-form.php
$colorError = "";
$thankYou = "";
if (isset($_REQUEST)) {
$to = 'info@blablabla.sk';
$subject = 'CONTACT FORM FROM WEB';
$name = $_POST;
$email = $_POST;
$phone = $_POST;
$message = $_POST;
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "rn";
$headers .= 'Content-type: text/html; charset=UTF-8' . "rn";
$headers .= 'From: Informácie ';
if (empty($_POST)) {
$colorError = 'border:1px solid red';
}
if (empty($_POST)) {
$colorError = 'border:1px solid red';
}
$body = 'You have email. Name:' .$name. ' Email: ' .$email. ' Phone: ' .$phone. ' Message: ' .$message;
if (!$colorError) {
if (mail($to, $subject, $body, $headers)) {
$thankYou = '
Thank You! Your message was sent successfully
';
}
}
}
?>
Ďalší problém je, že ak užívateľ vyplní všetky povinné polia a email sa odošle a stlačí na svojom prehliadači Obnoviť túto stránku, vyskočí formulár o potvrdení odoslania a email príde s rovnakými vstupmi aj keď je formulár prázdny. Prosím o pomoc.
14. 4. 2016 15:43:48
https://webtrh.cz/diskuse/kontaktny-formular-s-kontrolou-a-potvrdenim-stale-obnovuje-stranku/#reply1189627
Smazany ucet 259
verified
rating uzivatele
14. 4. 2016 16:04:47
Formulář můžete kontrolovat i barevně zvýrazňovat přes JavaScript.
14. 4. 2016 16:04:47
https://webtrh.cz/diskuse/kontaktny-formular-s-kontrolou-a-potvrdenim-stale-obnovuje-stranku/#reply1189626
Pokud chces odeslat formular bez obnoveni stranky, pak potrebujes AJAX.
Postni sem to tve puvodni ajaxove reseni, chyba bude v nem.
Nebo mrkni treba sem http://formvalidation.io/examples/ajax-submit/
14. 4. 2016 16:18:41
https://webtrh.cz/diskuse/kontaktny-formular-s-kontrolou-a-potvrdenim-stale-obnovuje-stranku/#reply1189625
Petr Holomoj
verified
rating uzivatele
(21 hodnocení)
14. 4. 2016 16:52:44
Základní validaci bych dělal před odesláním formuláře pomocí JS. Jednoduchý příklad:Demo
Pokud následně odešlete formulář přes AJAX a po zpracování dat formulář (jeho hodnoty) vymažete, nebude se Vám znovu odesílat.
14. 4. 2016 16:52:44
https://webtrh.cz/diskuse/kontaktny-formular-s-kontrolou-a-potvrdenim-stale-obnovuje-stranku/#reply1189624
MatesM
verified
rating uzivatele
15. 4. 2016 08:38:18
Po takovém rychlém prohlédnutí bych asi viděl problém v té podmínce if (!$colorError) {, protože tu proměnnou nastavuješ hned na začátku sice jako prázdnou, ale už existuje. V tvém případě by mohlo pomoct něco takového if (!empty($colorError)) { případně if ($colorError=="") {
15. 4. 2016 08:38:18
https://webtrh.cz/diskuse/kontaktny-formular-s-kontrolou-a-potvrdenim-stale-obnovuje-stranku/#reply1189623
Cisco_lama
verified
rating uzivatele
15. 4. 2016 09:13:43
Ajax vypadal, že do hlavičky som dopísal toto:
index.php
Ešte sa pozrem na tie linky. Dik.
15. 4. 2016 09:13:43
https://webtrh.cz/diskuse/kontaktny-formular-s-kontrolou-a-potvrdenim-stale-obnovuje-stranku/#reply1189622
Cisco_lama
verified
rating uzivatele
18. 4. 2016 09:56:06
Vyskúšal som všetko, nejde mi nič. Je tu niekto, kto by mi to spravil za €? PM, diky.
18. 4. 2016 09:56:06
https://webtrh.cz/diskuse/kontaktny-formular-s-kontrolou-a-potvrdenim-stale-obnovuje-stranku/#reply1189621
Pro odpověď se přihlašte.
Přihlásit