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>
a PHP skript takto:
<?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 *
$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
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

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: