Autor Zpráva
Adam233
Profil *
Dobrý den,
chci si na své stránkách udělat jednoduchý formulář na odesílání emailů. Používám níže uvedený kód. Ale potřeboval by jsem, aby jsem tam měl i položku jméno a při příchodu emailu do mé schránky se zobrazilo jméno odesílatele a až po rozkliknutí emailová adresa, tak jako to bývá u klasických e-malů. Zkoušel jsem to dělat několika způsoby, ale vždy mi to hodí chybu.

Předem děkuji za jakoukoliv radu.

<form action="odeslat.php">
Jmeno: <input name="jmeno"><br>
Mail příjemce: <input name="prijemce"><br>
Váš mail: <input name="mail_odesilatele"><br>
Předmět: <input name="predmet"><br>
Zpráva: <textarea name="zprava"></textarea><br>
<input type=submit value="Odeslat">
</form>

//odeslat.php
<? if ( Mail($prijemce, $predmet, $zprava, "From: " . $mail_odesilatele,$jmeno) )
echo "Mail byl odeslán";
else echo "Mail se nepodařilo odeslat"; ?>

Moderátor Davex: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
ShiraNai7
Profil
U inputu ti chybi urceni typu a v kodu bych rekl ze spolehas na register globals.. a funkce mail() s velkym M?
panther
Profil
ShiraNai7:
U inputu ti chybi urceni typu
nechybí, defaultní hodnota je text.

a funkce mail() s velkym M?
proč ne?
ShiraNai7
Profil
Tak je snad dobrým zvykem typ uvádět a také používat jméno funkce takové, jaké je v dokumentaci.. A když už jsme u toho, tak e-maily s nastaveným From z PHP některé spam filtry rády zahazují (třeba gmail) - a mají k tomu dobrý důvod.

A z věty ale vždy mi to hodí chybu vyvodím leda tak velké kulové. Takže jakou chybu?
Adam233
Profil *
chyba: Warning: mail() [function.mail]: SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in /home/free/ic.cz/c/cirisek/root/www/odeslat.php on line 1
Mail se nepodařilo odeslat
ShiraNai7
Profil
Predavas funkci mail() nejaky paty argument, ktery je v PHP SAFE MODE (bezpecny rezim PHP) vypnuty. Ten paty se pouziva pro predavani nejakych parametru prikazovemu radku, ktery spousti aplikaci co posila maily.. takze to uplne vynech. Pokud si chtel pridat jmeno odesilatele jako soucast e-mailove adresy, tak to se dela takto:

<?php
 if (mail($prijemce, $predmet, $zprava, "From: " . $mail_odesilatele.'<'.$jmeno.'>'))
echo "Mail byl odeslán";
else echo "Mail se nepodařilo odeslat";
?>
Davex
Profil
ShiraNai7:
Dovolím si to mírně upravit. Ještě tam zůstává chyba, že to spoléhá na zapnuté register_globals a že bude pravděpodobně v e-mailu špatně čeština (tu řeší PHP FAQ - problémy s e-maily).
<?php
  if (mail($prijemce, $predmet, $zprava, "From: " . $jmeno . '<' . $mail_odesilatele . ">\n"))
    echo "Mail byl odeslán";
  else
    echo "Mail se nepodařilo odeslat";
?>
Adam233
Profil *
děkuji moc za pomoc, tohle je přesně to co jsem potřeboval

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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