Autor Zpráva
running
Profil *
Co dělám špatně? Chci aby z jedné stránky se odesílaly data na mail. Ta stránka je

<h1>Rezervace</h1>
<form
action="mailuj.php" method="post">
Va&scaron;e
jm&eacute;no:<br>
<input name="jmeno" size="20"><br>
Va&scaron;e adresa/e-mail:<br>
<textarea name="adresa" rows="6"
cols="30"></textarea><br>
Datum rezervace:<br>
<input name="datum" size="30"><br>
Chcete n&aacute;m něco vzk&aacute;zat?<br>
<textarea name="vzkaz" rows="4"
cols="30"></textarea>
<input value="Odeslat" type="submit"></form>


a mailuj.php je:

<?php
$to="running.cz@gmail.com";
$subject="Rezervace pres internet";
$mess=" Rezervace pres formular na strankach ********\n";
$mess.="jmeno-";
$mess.=$jmeno;
$mess.="\n";
$mess.="adresa-";
$mess.=$adresa;
$mess.="\n";
$mess.="datum rezervace-";
$mess.=$datum;
$mess.="\n";
if ($vzkaz <> ""): $mess.="vzaz -".$vzkaz."\n"; endif;
$head="From: rezervacni formular <mail.libovolny@brother.dj> \n";
if (@mail($to, $subject, $jmeno, $head)):
echo "Zpráva byla odeslána. \n The message have been sent.";
else:
echo "Zpráva nebyla odeslána, zkuste to prosím příště. Hluboce se omlouváme.";
endif;
?>
running
Profil *
tam ve funkci mail neni $jmeno, ale $mess, tohle je pro testování a nějak sem to zapoměl předělat. Ale ani s tim to nejde. Vždycky mi to správně napíše všechno kromě těch věcí co mě zajímají.
FantomX1
Profil
No ak to mess tam nema byt tak to odstran a nahod to sem tak, bude to prehladnejsie.
Neviem ci v PHP sa povoluje pre nerovna sa znak <> , ja by som pouzil !=.
The message have been sent toto sa pise The message has been sent.

Mas tam velakrat spajanu premennu $mess, ale nevidim ze by sa niekde odoslavala. Preto nevidim dovod aby si to tam mal. V maily ako obsah mailu odosielas len meno, ale to asi vies. Mne sa v tom velmi nechce lustit presne o co ide. Mozno keby si to viac skonkretizoval. Co ti presne nejde? Neodosle ti to? Daj sem skript tak ako si predstavujes ze by mal vyzerat aby ti to odosielalo tak ako chces a potom ked to nebude fungovat tak ti to niekto skontroluje ale v tom skripte mas dost velky zmatok.
running
Profil *
<?php
$to="running.cz@gmail.com";
$subject="Rezervace pres internet";
$mess=" Rezervace pres formular na strankach ********\n";
$mess.="jmeno-";
$mess.=$jmeno;
$mess.="\n";
$mess.="adresa-";
$mess.=$adresa;
$mess.="\n";
$mess.="datum rezervace-";
$mess.=$datum;
$mess.="\n";
if ($vzkaz <> ""): $mess.="vzaz -".$vzkaz."\n"; endif;
$head="From: rezervacni formular <mail.libovolny@brother.dj> \n";
if (@mail($to, $subject, $mess, $head)):
echo "Zpráva byla odeslána. \n The message have been sent.";
else:
echo "Zpráva nebyla odeslána, zkuste to prosím příště. Hluboce se omlouváme.";
endif;
?>

Takhle.
centi
Profil
running
A čo je teda problém?
- nepošle mail?
- pošle mail, ale chybne?
- vypíše nejakú chybu? (skús vyhodiť ten zavináč pred funkciou mail a možno uvidíš chybu, ktorú si netušil)
running
Profil *
chybu to nevypíše ani bez @, ale pošle e-mail ve tvaru

"
Rezervace pres formular na strankach ********
jmeno-
adresa-
datum rezervace-

"
,což nechci. Možná je chyba v tom, že stránka je na PHP5.cz, ale to bych neřekl.
running
Profil *
(prostě bez údajů, i když se tam údaje zadají)
centi
Profil
Nuž tak to bude asi klasika. Proste vypnuté superglobálne premenné (to sú tie, ktoré sa automaticky vytvárajú z posielaných dát z formulára, či už GET alebo POST).

Na začiatok skriptu si daj:

$jmeno = $_POST['jmeno'];
$adresa = $_POST['adresa'];
$datum = $_POST['datum'];
$vzkaz = $_POST['vzkaz'];

načítaš tak do svojich premenných dáta posielané z formulára.
Bobes
Profil *
Zmen si v php.ini

; register_global = Off
register_global = On

restartuj httpd
Joker
Profil
Bobes
To nedoporučuju.

Radši se naučit používat pole $_GET/$_POST, než si tímhle vytvořit potenciální bezpečnostní rizika
Toto téma je uzamčeno. Odpověď nelze zaslat.