headers already sent

viga tekib juhul kui enne header/setcookie/session* funktsioone on väljastatud mingi tekst.

näiteks:

<html>
<?php
header('Location:http://neti.ee'); // annab vea, kuna esimesel real on <html>
?>
<?php
echo "hohohoo";
session_start(); // annab vea, kuna eelmisel real on echo
?>

lahendus on tõsta session*/setcookie/header funktsioonid faili algusesse, kohta, kus teksti ei ole veel väljastatud. vea võib põhustada ka kuskil includetud failis üleliigne tühik (nt mõnes lisatud failis peale lõputagi).

tavaliselt aitab ka ob_start() funktsiooni väljakutsumine:

<?php
ob_start(); // käivitame väljundi puhverdamise
echo "hohohoo";
session_start(); // ei anna enam viga, kuna väljundi puhverdamine on sisselülitatud
?>

seonduvad funktsioonid: headers_sent()

 
err/headers_sent.txt · Viimati muutnud: 2007/04/08 21:17 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki