Autor Zpráva
Jules
Profil *
Jak si mám na svým počítači nastavit php.ini aby mi fungovaly sessions? Když mám stránky na webuzdarma, tak to funguje normálně. Doma mi to hází chybu:

<br /><b>Warning</b>: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\skola\dforum.php:3) in <b>c:\program files\easyphp1-8\www\skola\dforum.php</b> on line <b>45</b><br /><br /><b>Warning</b>: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\skola\dforum.php:3) in <b>c:\program files\easyphp1-8\www\skola\dforum.php</b> on line <b>45</b><br />
kaifman
Profil
zrus vsechny znaky ktere jdou na vystup pred tim volanim setcookie...resp presun je za to volani setcookie
jozob
Profil
V tvojom prípade ide o to, že nemôžeš poslať session klientovi, pretože už si niekde skôr na stránke vygeneroval výstup, čo spôsobilo odoslanie všetkých dovtedy zadaných headerov. Keď sú už headery odoslané, nasleduje posielanie výstupu, ale ďalšie headery nemôžeš posielať. Dá sa to spraviť pomocou riadenia výstupu. PHP obsahuje funkcie, ktoré umožňujú nastaviť, že stránka sa bude priebežne ukladať do cache (nebude odosielať výstup hneď na server), výstup potom odošleš sám. Všetky headery, ktoré pošleš sa postupne ukladajú a vložia sa pred výstup, ktorý sa odošle až po odoslaní headerov. Použitie je jednoduché:
<?php

ob_start(); /* začiatok ukladania výstupu do cache - funkcia sa zadáva hneď na začiatok kódu */
/* vlastný kód stránky */
ob_end_flush(); /* koniec ukladania výstupu do cache a následné odoslanie výstupu+headerov */
/* kód, ktorý sa nachádza za funkciou ob_end_flush() sa tiež odošle na stránku,
ale už normálnou metódou, tu sa už nemôže nachádzať žiaden header */
?>


V manuáli PHP je popísaných ešte niekoľko užitočných funkcií riadenia výstupu - napr. zrušenie celého obsahu uloženého v cache atď.

Ale nerozumiem, prečo to na webzdarma ide... (?)
kaifman
Profil
jenom maji vypnute zobrazovani warnings takze to vypada ze tam chyba neni
jozob
Profil
asi tak...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0