Autor | Zpráva | ||
---|---|---|---|
kikinet Profil |
Zdravím,
dělala jsem formulář na web. Chtěla jsem ať se formuláře posílají na určený e-mail, ať nahlásí chybu když nebudou vyplněna všechna pole. Formulář vypadá takhle: <form action="formular.php" method="post"> <table> <tr><td><b>Jméno:</b></td><td><input name="jmeno" size="39"></td></tr> <tr><td><b>E-mail:</b></td><td> <input name="mail" size="39" value="@"></td></tr> <tr><td><b>Zpráva:</b></td><td><textarea name="zprava" rows="8" cols="31"></textarea></td></tr> <tr><td></td><td align="right"><input type="submit" value="Odeslat"></td></tr> </table> </form> <?php $mail = $_POST['mail']; $jmeno = $_POST['jmeno']; $zprava = $_POST['zprava']; $to = "betkasklarova@seznam.cz"; $mess = "Jméno: ".$jmeno."\nE-mail:".$mail."\nZpráva: ".$zprava."\n"; if(substr_count($mail, '@') >= 2) {echo "Zadali jste neplatnou e-mailovou adresu"} if(!empty($mail, $jmeno, $zprava)) {echo "Vyplňte prosím všechny pole"} if (mail($to, $mess)) {echo "Zpráva byla úspěšně odeslána"; else echo "Zpráva nebyla odeslána! Zkontrolujte prosím zda máte vyplněné všechny pole"} ?> Určitě tam bude nějaká chyba, protože 1) Formulář nejede, 2) v PHP jsem úplný začátečník... Děkuji za Váš čas :) |
||
iceover Profil * |
#2 · Zasláno: 13. 5. 2012, 15:44:13 · Upravil/a: iceover
$jmeno = $_POST['jmeno']; $odesilatel = $_POST['odesilatel']; $zprava = $_POST['zprava']; $prijemce = 'betkasklarova@seznam.cz'; $predmetEmailu = $jmeno.' - '.$odesilatel; if($_GET['odeslano'] == true){ if(substr_count($mail, '@') >= 2) echo "Zadali jste neplatnou e-mailovou adresu<br>"; if($prijemce AND $jmeno AND $zprava){ mail($prijemce, $predmetEmailu, $zprava); echo "Zpráva byla úspěšně odeslána<br>"; } else echo "Zpráva nebyla odeslána! Zkontrolujte prosím zda máte vyplněné všechny pole<br>"; } Z pohledu zabezpečení proti injection, ochrany proti spamu atd. je to děs. <form action="formular.php?odeslano=true" method="post"> <table> <tr><td><b>Jméno:</b></td><td><input name="jmeno" size="39"></td></tr> <tr><td><b>Váš E-mail:</b></td><td> <input name="odesilatel" size="39" value="@"></td></tr> <tr><td><b>Zpráva:</b></td><td><textarea name="zprava" rows="8" cols="31"></textarea></td></tr> <tr><td></td><td align="right"><input type="submit" value="Odeslat"></td></tr> </table> </form> |
||
kikinet Profil |
#3 · Zasláno: 13. 5. 2012, 16:03:56 · Upravil/a: kikinet
iceover:
Děkuji. No jasně že je to děs, php zkoumám asi 4tý den. iceover: A jinak, tohle taky nefunguje... zkus to vyzkoušet tady |
||
Časová prodleva: 13 let
|
0