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" />
a tady odesíleče:
<?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>";
}
?>
prosím o radu

— Moderátor: pro vyznačení zdrojového kódu používej značky „pre“ (namísto „i“) —
jrm
Profil
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
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 *
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
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 *
dík už mi to funguje http://e-muzic.ic.cz/x/8/1/formular.php

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0