Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Nedokážu vypsat echo $_SESSION["x"] = "ahoj" do <body>

Zdravím :-),
jaktože podmínka

isset($_POST["kopie"]) ==  "ano"
projde vždy? Vždyť tam mám znak porovnání a pokud nebude souhlasit, tak přece neprojde.

Btw, možná už tuším, proč mi to žádnou zprávu o odeslání nezobrazí:
- když jsem měla dřív kód
if (empty($chyba))
      {
      cs_mail("adresa@email.cz", $predmet, "--$nick--\n".$zprava, "From: $email\n");
      header("location: http://localhost/adresa/mail_formular.php");
$_SESSION["jeden"] = "<h3 id='anim'>Zpráva byla úspěšně odeslána</h3>";
      }
.....
tak hned na samém začátku scriptu jsem měla
if 
{
(isset($_SESSION["jeden"]))
echo $_SESSION["jeden"];
unset ($_SESSION["jeden"]);
}

a hláška se v pohodě vypsala (i když ve quirku). A proč se vypsala? Protože příkaz k jejímu vypsání byl ve složených závorkách spolu s header("location: ...). Takže zpráva se odeslala, stránka se přesměrovala na výchozí formulář (jak jsem chtěla) a přenesl se i povel k zobrazení.

- nyní mám vypsání hlášky zcela samostatně, header("location: ...) už o ní neví zhola nic a proto se nevypíše na přesměrované stránce. Nemám pravdu?
Ale protože funkce header nemůže být po žádném výstupu, tak ji budu muset nejspíš bufferovat pomocí ob_start();
Zatím mám problém v tom, že ani vložení ob_start(); a vložení header("location: http://localhost/adresa/mail_formular.php"); hned za příkaz k zobrazení hlášky (která už je nakódována v tagu body) nesplnilo moje očekávání :-x. Dala jsem ji na začátek zpracujícího scriptu, pak i do souboru s formulářem - a nic.
Zatím ladím lokálně ve WAMPu a mám zapnuté defaultní zobrazování chyb error_reporting = 30719 tj. ALL.
V php.ini (PHP Version 5.3.0) mám "output_buffering = 1". Mám hledat ještě něco dalšího?
Zatím děkuji za pomoc :-)

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny