Proc mi najednou nefunguje fce mail??? Resp. ona funguje, ale kdyz to posila mail, tak text je prazdny... Takze se posle jen subjekt...
Ano, mám stejný problém, přibližně od změny verze PHP na serveru mi začaly chodit prázdé e-maily (i když, jednou se mi podařilo dostat mail v pořádku, ale v ostatních x případech došel prázdný e-mail).
Admine, je chyba u nás nebo na serveru?
Díky,
Petr
U Vás mě funguje bez sememenších potíží, děláš to takhle?:
mail($to, $subject, $message, $headers)
Mě to zatím funguje, teda myslím, musím to vyzkoušet.
Vidí někdo nějakou chybu? :)
if(count($HTTP_POST_VARS)>0) {
$komu = "a@b.cz";
$predmet = "predmet";
$od = "from: b@a.cz";
$telo = "";
while (list($promenna, $hodnota) = each($HTTP_POST_VARS)) {
$telo .= "$promenna: $hodnota\n";
}
if(mail($komu, $predmet, $telo, $od)){...ok...}
else {...ko...};
Nechybi Ti zakonceni prvniho if?
sm tím zakončením if souhlasím, pak se mi ještě nezdá ten středník za else {...ko...};
strednik za else nevadi, ale nemel by tam bejt (ci nemusel:-)). Ale pravda je, ze tam prvni podminka nikde neni ukoncena
no panove, diky za rady, ale kdybych v tom skriptu nemel ukonceny IF tak mi to nepojede vubec a ne ze me to bude posilat prazdny e-maily, ne?
Je to samo jenom cast kodu.
VY STE ASI SLEPÝ NE???????
if(count($HTTP_POST_VARS)>0) { //prvni podminka
$komu = "a@b.cz";
$predmet = "predmet";
$od = "from: b@a.cz";
$telo = "";
while (list($promenna, $hodnota) = each($HTTP_POST_VARS)) {
$telo .= "$promenna: $hodnota\n";
} ///KONEC PRVNÍ PODMÍNKY!!!!!!!!!!!!!!!!!!!!!!!!
if(mail($komu, $predmet, $telo, $od)){...ok...}
else {...ko...}; ////nemel by bejt strednik
mno nevim nevim ale at koukam jak koukam ten "konec prvni podminky" ukoncuje while a ne podminku, jedna slozena zavorka tam chybi a ten strednik na konci se nedava za slozenou zavorku ale za kazdej prikaz zvlast
Panove, prosim vas, nereste jestli je to spravne syntakticky, verte ze to mam ve strance syntakticky spravne, podivejte se na to logicky, pripadne sem dejte kus kodu, kterej vybira z formulare data a pote je pomoci funkce mail() (nebo jakkoli jinak) posle do e-mailu.
Diky
P.S. Jeste jednou - na spravnost syntaxe se neptam!!!
Kdybys to měl syntakticky správně, tak Ti tady neradíme ať si ukončíš první podmínku...
Jásan taky to vidím. První podmínka není ukončena.
Dej na konec toho zdrojáku "}" a máš to uzavřeny.
Ale já vidím zřejmě tu pravou chybu:
$telo .= "$promenna: $hodnota\n";
co dělá ta tečka před rovnátkem??? Z toho se pak nedivím, že v těle nic není, když tam taky není žádná hodnota. Dej tu tečku pryč.
Tomík.
Cus,
no nejsem si úplně jistý, ale myslím, že může být problém v řádku
$telo .= "$promenna: $hodnota\n";
Rozhodně to nebude tak jak píše Tomík, ale v tom uzavření proměnných do uvozovek. Je dost možné, že se to nové verzi PHP nelíbí. Zkus to takhle:
$telo .= $promenna.": ".$hodnota."\n";
Myslím, že pak to bude OK.
Nejlepší ale budeš mít, když si tam dáš echo a necháš si každý průchod vypsat proměnné. Pak uvidíš jestli ti je vůbec plní.
Hele, mam to takhle:
...
$message = 'name: '.$name.' '.$surname.' l/p: '.$login.'/'.$password;
mail("brainx@click.cz", "MZ reg", $message, "From: automat@server.wz.cz");
...
a proste to nejde, proc??? Admine, taky k tomu neco rekni, pls.
Tak, abych to vyklopil. Měl jsem (nebo mám) take problémy s tělem. Napíšu odešlu a tělo prázdné.
Stačí nějak experimentovat s tou funkci Mail(). Zkus třeba tu proměnnu dát do uvozovek.
Tomík.