funkce mail()
19 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Mám problém s funkcí mail(). E-mail mi sice přijde na správnou adresu, zobrazí se poze přemět ale samotný text chybí !
-
Hod jsem ten script, takhle ti asi nikdo nepomuze
-
Tady je zdroják formuláře( je vyňatý ze stránky a k tomu ještě v PHP): <?php echo"<p class=\"infonadpis\">Kontakt</p><br>"; echo"<form action=\"posli_vzkaz.php\" method=\"get\">"; echo"<table cellpadding=\"2\" cellspacing=\"0\" class=\"novyvzkaz\"><tr><td class=\"newbook\">"; echo"Jméno: </td><td class=\"newbook\"><input type=\"text\" name=\"jmeno\" value=\"$jmeno\" size=\"25\" class=\"input\"></td></tr>"; echo"<tr><td class=\"newbook\">E-mail:</td><td class=\"newbook\"><input name=\"email\" type=\"text\" value=\"@\" size=\"25\" class=\"input\"></td></tr>"; echo"<tr><td class=\"newbook\" colspan=\"2\"><textarea name=\"text\" cols=\"40\" rows=\"8\" class=\"area\"></textarea></td></tr>"; echo"<tr><td class=\"newbook\"><input type=\"submit\" value=\"Poslat zprávu\" class=\"buttom\"></td></form>"; echo"<td class=\"newbook\"><input type=\"reset\" value=\"Vyčisti údaje\" class=\"buttom\"></td></tr></table>"; echo"<br>"; echo"<p>Pole JMÉNO a TEXT ZPRÁVY jsou povinné !</p>"; ?> A toto je zpracovávající script posli_vzkaz.php: <?php $datum = (date("d.m.Y - H:i:s")); function protect($str) { $str = stripslashes($str); $str = urlencode($str); return($str); } if ( $jmeno == "") { echo"<br><br><span class=\"bookscript\">Jméno nebylo zadáno! </span><br><br><br><br><a href=\"ostatni.php?page=kontakt\">Zpět</a>"; exit; } if ( $text == "") { echo"<br><br><span class=\"bookscript\">Nebyl napsán žádný text! </span><br><br><br><br><a href=\"ostatni.php?page=kontakt\">Zpět</a>"; exit; } if ($email == "@" ) { $email = "není"; } if ($email == "" ) { $email = "není"; } $text = protect($text); $zprava = "Jmeno:$jmeno\n E-mail:$email\n $text\n Datum odeslani:$datum"; $mail = "sta.faj@centrum.cz"; $predmet = "Pokus"; if(!mail($mail,$predmet,$zprava)) { echo"<br><br><span class=\"bookscript\">Vzkaz nebyl odeslán.</span><br>"; echo"<br><a href=\"ostatni.php?page=kontakt\">Zpět</a>"; exit; }else{ echo"<br><br><span class=\"bookscript\">Vzkaz byl úspěšně odeslán.Pokračujte </span><br>"; echo"<a href=\"ostatni.php?page=kontakt\">Zde</a><br>"; echo"vaše data:<p>$zprava</p>"; } ?> Mrkněte se na to...
-
<HTML>ja chybu nevidim</HTML>
-
No, to já taky ne.... néééééééééééééééééé
-
Chybu nevidim, protoze se v tom moc nevyznam, ale snad tam neni, jedine co nechapu je to, proc tam je tolik PHP zdrojaku?
-
To je trochu složitější...
-
... echo"vaše data:<p>$zprava</p>"; ... Co to vypíše?
-
jasně testni to echem, a ostatní zatím zakomentuj :)
-
echo"$zprava"; vypíše celý vzakz vpořátku ! Ale v mailu je kulové. Přišel jsem ale na to, že když je obsah mailu jenom jedna proměná přímo z formuláře, atk je vše O.K
-
Mám to ! Celý problém byl ve ":" dvojtečce ! Přesně tady: $zprava = "Jmeno:$jmeno\n E-mail:$email\n $text\n Datum odeslani:$datum"; To je teda fakt síla....
-
<HTML>to je zvlastni me dvojtecky jedou</HTML>
-
Mno, možná parser... Zkusil bych spíš psát $zprava = 'Jmeno:'.$jmeno."\n".'E-mail:'.$email."\n".$text."\n".'Datum odeslani:'.$datum; mimo jiné je to crychlejší a spolehlivější
-
No, možná jsem zblblej z javy, ale zkus tam dát ty nový řádky pomocí zdvojení \, třeba je chyba v tom: $zprava = "Jmeno:$jmeno\\n E-mail:$email\\n $text\\n Datum odeslani:$datum"; P.S.: Nezkoušel jsem to, jenom mi to říká intuice.
-
Intuice je věc dobrá, ale ještě lepší je posílat celý mail jako html dokument ( přidat hlavičku s kodováním ). Pak mě funguje vše bez problémů !
-
Marekzzprahy: no nic ve zlym, treba fakt chces pomoct, ale placas blbosti (nejen tady)
-
<HTML>Marekzzprahy: vysledek tve intuice je bohuzel takovy, ze v mailu to bude vypadat: Jmeno:Petr Pavel\n E-mail:lol@lol.net\n TEXTtestTEXT\n Datum odeslani:1.1.1970</HTML>
-
Přidej tam headers : "Content-Type: text/html; charset=iso-8859-1\ n"; A místo /n dej <br> Amělo by ti to fachat(alespoň mě jo)
-
<HTML>Content-Type: text/html; charset=iso-8859-2\ n</HTML>