Autor | Zpráva | ||
---|---|---|---|
gooner77 Profil |
#1 · Zasláno: 22. 2. 2013, 11:09:36
dobrý den, mám problém se skriptem pro ověření zda uživatel zadal do formuláře nějaké údaje a by se mohl zpracovat a odeslat. Mělo by jít o odesílání emailů.
Nevíte někdo co s tím? =( Přikládám ten skript: <form action="#" method="post"> <table> <tr> <td><strong>Váš email:</strong></td> <td><input type="text" name="email_uzivatele" value="<?php if(isset($_POST["email_uzivatele"])){echo $_POST["email_uzivatele"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td><strong>Mobil:</strong></td> <td><input type="text" name="mobil" value="<?php if(isset($_POST["mobil"])){echo $_POST["mobil"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td><strong>Předmět:</strong></td> <td><input type="text" name="predmet" value="<?php if(isset($_POST["predmet"])){echo $_POST["predmet"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td><strong>Text zprávy:</strong></td> <td><textarea name="zpráva" ><?php if(isset($_POST["zprava"])){echo $_POST["zpráva"];}?></textarea></td> </tr> <tr> <td><input type="submit" name="odeslat" value="Odeslat"></td> </tr> </table> </form> <?php if(isset($_POST['submit'])) { if($email_uzivatele=="") { echo'Nebyl vyplněn Váš e-mail!'; } else if($mobil=="") { echo'Nebyl vyplněn Váš mobil!'; } else if($predmet=="") { echo'Nebyl vyplněn předmět!'; } else if($zprava=="") { echo'Nebyla vyplněna zpráva!'; } } ?> |
||
jenikkozak Profil |
Nejčastější potíže s PHP (FAQ) » Nefungují proměnné z formuláře nebo z URL (vypnuté register globals)
Týká se to proměnných $email_uzivatele (řádek 30), $mobil , $predmet a $zprava .
|
||
gooner77 Profil |
#3 · Zasláno: 22. 2. 2013, 11:34:01
místo toho tam má být toto?
$mobil = $_POST["mobil"] jestli sem to pochopil dobře. |
||
jenikkozak Profil |
#4 · Zasláno: 22. 2. 2013, 11:58:13
Ano. Nebo můžete rovnou otestovat
if($_POST["email_uzivatele"]=="")
Dále máte chybu na řádku 17: Testujete existenci $_POST["zprava"] , ale vypisujete položku pole $_POST["zpráva"] .
|
||
gooner77 Profil |
#5 · Zasláno: 22. 2. 2013, 15:38:58
Tak sem to poupravil jak si řek. Jenomže když do nějakého políčka nic nevyplním tak skript funguje dál a nevypíše to třeba "Nebyl vyplněn Váš e-mail!".
|
||
Alphard Profil |
#6 · Zasláno: 22. 2. 2013, 21:54:41
gooner77 [#5]:
Jaká je aktuální verze kódu? |
||
gooner77 Profil |
#7 · Zasláno: 22. 2. 2013, 23:01:33
<form action="#" method="POST"> <table> <tr> <td><strong>Váš email:</strong></td> <td><input type="text" name="email_uzivatele" value="<?php if(isset($_POST["email_uzivatele"])){echo $_POST["email_uzivatele"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td><strong>Mobil:</strong></td> <td><input type="text" name="mobil" value="<?php if(isset($_POST["mobil"])){echo $_POST["mobil"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td><strong>Předmět:</strong></td> <td><input type="text" name="predmet" value="<?php if(isset($_POST["predmet"])){echo $_POST["predmet"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td><strong>Text zprávy:</strong></td> <td><textarea name="zprava" ><?php if(isset($_POST["zprava"])){echo $_POST["zprava"];}?></textarea></td> </tr> <tr> <td><input type="hidden" name="robot"></td> </tr> <tr> <td><input type="submit" name="odeslat" value="Odeslat"></td> </tr> </table> </form> <?php if(isset($_POST['submit'])) { if($_POST["email_uzivatele"]=="") { echo'Nebyl vyplněn Váš e-mail!'; } else if($_POST["mobil"]=="") { echo'Nebyl vyplněn Váš mobil!'; } else if($_POST["predmet"]=="") { echo'Nebyl vyplněn předmět!'; } else if($_POST["zprava"]=="") { echo'Nebyla vyplněna zpráva!'; } else { $email_uzivatele = $_POST["email_uzivatele"]; $mobil = $_POST["mobil"]; $predmet = $_POST["predmet"]; $zprava = $_POST["zprava"]; $robot = $_POST["robot"]; if (!strlen($robot) > 0) { $sendmail = mail("huttner.tomas@gmail.com", $predmet, $mobil, $zprava, "From: ".$email_uzivatele); if ($sendmail) { echo "Email by úspěšně odeslán!"; } else { echo "Nastala chyby email nebyl odeslán prosím opakujte!"; } } } } ?> |
||
Alphard Profil |
#8 · Zasláno: 23. 2. 2013, 00:14:38
Tahle verze opravdu nefunguje? Nejsou tam třeba nějaké mezery? Vypadá to funkčně jestli jsem nepřehlédl nějakou závorku. Obecná rada je vypsat si celé pole $_POST, podívat se, co obsahuje a hledat problém.
|
||
gooner77 Profil |
#9 · Zasláno: 23. 2. 2013, 00:19:16
Když sem schválně nenapsal předmět a odeslal sem tak mi to nevypsalo hlášku, že předmět nebyl vyplněn. Už nevím co s tím =(
|
||
Alphard Profil |
#10 · Zasláno: 23. 2. 2013, 00:28:18
$_POST['submit'] neexistuje, script nepokračuje dál, v [#5] lžete a já 5 minut hledám na úplně blbém místě :-) Naučte se debugovat.
|
||
Časová prodleva: 11 let
|
0