Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Využij akce až 80% zdarma při nákupu e-learningu. Více informací .
BF summer
Avatar
janci550
Člen
Avatar
janci550:13.4.2013 17:44

Ahoj, mám taký problém, neviem čím to je postupoval som podľa tohoto tutoriálu a moja funkcia na odosielanie mailu je: mail('moj_mail',$_POS­T['predmet'],$_POS­T['od'].': '.$_POST['zpra­va'],'Content-Type: text/plain; charset="windows-1250"');
tak ako je to v článku, problém je v tom, že keď skript vykonám, tak mi príde mail bez správy v tele.
Keď v správe nechám len $_POST['zprava'] príde mi normálna správa, ale akoby bol problém s tým spájaním stringov...

 
Odpovědět
13.4.2013 17:44
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na janci550
David Čápka:13.4.2013 17:47

Zkus udělat okolo těch teček mezery.

Nahoru Odpovědět
13.4.2013 17:47
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Vojta Pšenák
Redaktor
Avatar
Odpovídá na janci550
Vojta Pšenák:13.4.2013 17:51

Používej prosím tlačítko code - nedá se to číst

 
Nahoru Odpovědět
13.4.2013 17:51
Avatar
janci550
Člen
Avatar
Odpovídá na David Čápka
janci550:13.4.2013 18:01

Nefunguje to ani s medzerami

 
Nahoru Odpovědět
13.4.2013 18:01
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na janci550
David Čápka:13.4.2013 18:15

A máš zadané to od? Nech si vypsat co je v od a co je v zprava. Tohle tam někam vlož a napiš nám sem co ti to vrací:

echo $_POST['od'] . '<br />';
echo $_POST['zprava'] . '<br />';
echo $_POST['od'] . ' : ' . $_POST['zprava'] . '<br />';
Nahoru Odpovědět
13.4.2013 18:15
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
janci550
Člen
Avatar
Odpovídá na David Čápka
janci550:13.4.2013 18:21

No vrátilo mi toto:
test_adr
test_správa
test_adr : test_správa
Ale na maili len správa s predmetom bez tela...

 
Nahoru Odpovědět
13.4.2013 18:21
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na janci550
David Čápka:13.4.2013 18:28

Tak to je nějaké divné :D Ještě zkus prosím tohle:

$zprava = $_POST['od'] . ' : ' . $_POST['zprava'];
echo 'Odeslalo se toto: ' . $zprava;
mail('moj_mail', $_POST['predmet'], $zprava, 'Content-Type: text/plain; charset="windows-1250"');

Pokud ti to nepřijde, je problém u tvého emailového providera. Můžeš to zkusit nechat poslat ještě na nějakou jinou adresu.

Editováno 13.4.2013 18:28
Nahoru Odpovědět
13.4.2013 18:28
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
David Hynek
Redaktor
Avatar
David Hynek:13.4.2013 18:29
<?php
header('Content-type: text/html; charset=utf-8');

if(isset($_POST['form_ok']))
{
if($_POST['obsah'] != "" and $_POST['predmet'] != "" and filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
if(mail($_POST['email'], htmlspecialchars($_POST['predmet']), htmlspecialchars($_POST['obsah'])))
$formular = "<p><strong>Formulář byl úspěšně odeslán!</strong></p>";
}
else $formular = "<p><strong>Formulář byl špatně vyplněn!</strong></p>";
}
else
{
$formular = "<form method='post'>
Vaše adresa: <input type='text' name='email' /><br />
Předmět: <input type='text' name='predmet' /><br />
<textarea name='obsah'></textarea><br />
<input type='submit' name='form_ok' value='Odeslat' />
</form>";
}

?>
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Stranka</title>
  </head>
  <body>
  <p>obsah stránky</p>
  <?php echo $formular; ?>
  <p>zbytek stranky</p>
  </body>
</html>
Nahoru Odpovědět
13.4.2013 18:29
Čím víc vím, tím víc věcí nevím.
Avatar
janci550
Člen
Avatar
Odpovídá na David Čápka
janci550:13.4.2013 18:37

Tak som to skúsil a výsledok je:
Odeslalo se toto: test_adr : test_správa
A skúsil som to odoslať aj na inú adresu, ale výsledok je rovnaký. Ak je problém u providera, prečo keď dám odoslať len $_POST['zprava'] príde aj samotná správa?

 
Nahoru Odpovědět
13.4.2013 18:37
Avatar
Mircosoft
Redaktor
Avatar
Mircosoft:15.4.2013 10:08

Zásadní otázka: co máš za hosting?
Zkontroluj:

  • Jestli na serveru není posílání mailů nějak omezené.
  • Jestli to nedělá diakritika ve zprávě. Zkus ji napsat bez háčků a čárek a odeslat. Jestli projde celá, je to specifikací charsetu. Nedávno jsem měl podobný problém (na Endoře), funkce htmlspecialchars nečekaně změnila default z ISO-něco na UTF-8 a začala vracet prázdný řetězec.
  • Dej si print_r($_POST), ať vidíš, co v těch proměnných přesně máš.
Editováno 15.4.2013 10:11
 
Nahoru Odpovědět
15.4.2013 10:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.