| 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: 14 let
|
|||
0