Autor | Zpráva | ||
---|---|---|---|
petrnson Profil * |
Jsem začátečník s PHP a snažil jsem si udělat formulář, který by kontroloval že v poli email je zavináč a tečka. Na googlu jsem sice něco našel ale nefungovalo mi to tady je kod stránky:
<form action="send.php" method="post" id="formular" /> <input name="email" size="25" value="váš@email" /><br /> <input name="predmet" size="25" value="předmět" /><br /> <textarea name="zprava" rows="6" cols="35">Vaše zpráva...</textarea><br /> <input name="kontrola" type="checkbox" value="1"> <strong>= ano či hne</strong><br /> <input type="submit" value="Odeslat" /> <?php $predmet = $_POST['predmet']; $email = $_POST['email']; $kontrola = $_POST['kontrola']; $zprava = $_POST['zprava']; if (($predmet!="") and ($email!="") and ($zprava!="") and ($kontrola=="1")) { Mail("petrnson@seznam.cz", $predmet, $zprava, "From:".$email); echo "<p><strong>E-mail byl úspěšně poslán</strong>.</p>"; } else { echo "<p>E-mail se <strong>nepodařilo poslat</strong> možná kvůli nevyplnění všech údajů nebo kontrolní otázky.</p>"; } ?> — Moderátor: pro vyznačení zdrojového kódu používej značky „pre“ (namísto „i“) — |
||
jrm Profil |
#2 · Zasláno: 27. 1. 2008, 17:04:02
Nejprve odlaď skripty pro odesílání mailu - viz např.:
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=67 486 Pak přidávej další podmínky... Kontrolu správného zápisu mailové adresy lze provést pomocí regulárního výrazu ereg("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$",$mail) |
||
kletely Profil |
#3 · Zasláno: 27. 1. 2008, 17:23:03 · Upravil/a: kletely
petrnson
skus toto aj ked je tam toho mizerne malo http://tvorba-webu.cz/php/regularni_vyrazy.php a inak odporucam si dať do googlu regularni vyrazy |
||
petrnson Profil * |
#4 · Zasláno: 27. 1. 2008, 17:24:12
jrm
Bez kontroly mi to normálně fungovalo . Skoušel jsem vložit tvůj příkaz <?php $predmet = $_POST['predmet']; $email = $_POST['email']; $kontrola = $_POST['kontrola']; $zprava = $_POST['zprava']; if (($predmet!="") and ($email!="") and ($zprava!="") and ($kontrola=="1") and ereg("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$",$mail)) { Mail("petrnson@seznam.cz", $predmet, $zprava, "From:".$email); echo "<p><strong>E-mail byl úspěšně poslán</strong>.</p>"; } else { echo "<p>E-mail se <strong>nepodařilo poslat</strong> možná kvůli nevyplnění všech údajů nebo kontrolní otázky.</p>"; } ?> ale nějak mi to stejně nejde, mám to dobřě vložený? |
||
jrm Profil |
#5 · Zasláno: 27. 1. 2008, 17:42:18
Tak zkoušej ten IF ne se všemi podmínkami najednou, ale postupně je přidávej... No a máš tam jednou $email a podruhé $mail.
|
||
petrnson Profil * |
#6 · Zasláno: 27. 1. 2008, 19:23:34
dík už mi to funguje http://e-muzic.ic.cz/x/8/1/formular.php
|
||
Časová prodleva: 16 let
|
0