terminator211 utworzono 5 sierpnia 2011 utworzono 5 sierpnia 2011 Witam wszystkich. Mam pewnien problem dotyczący php, a dokładniej utworzeniem ciasteczka. Otóż gdy używam: [code]<?php setcookie('ciasteczko', '1', time()+600); ?>[/code] przeglądarka odpowiada takim błędem: [code]Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\WebServ1\httpd\Ciasteczko.php:6) in C:\Program Files\WebServ1\httpd\Ciasteczko.php on line 7[/code] Proszę o pomoc i z góry dziękuję. Pozdrawiam, PanŚmierci
benkowik komentarz 6 sierpnia 2011 komentarz 6 sierpnia 2011 Witam, Nie możesz mieć takiej sytuacji w kodzie - informacje nagłówkowe muszą iść pierwsze: [code]<? echo "test"; // tylko przykład - nie możesz wysłać nic przeglądarce setcookie('ciasteczko', '1', time()+600); ?>[/code] Lub dać takie rozwiązanie: [php]<? ob_start(); echo "test"; // tylko przykład - nie możesz wysłać nic przeglądarce setcookie('ciasteczko', '1', time()+600); ob_end_flush(); ?>[/php] 1
terminator211 komentarz 6 sierpnia 2011 Autor komentarz 6 sierpnia 2011 (edytowane) Czyli jeżeli chce utworzyć ciasteczko, to musze np napisać taki kod: [code]<html> <head> <title>Ciasteczko</title> </head> <body> <?php echo "cos tam, cos tam"; setcookie('ciasteczko1', '1', time()+600); ?> </body> </html> [/code] ? Czy jak to mam zrobić ?
benkowik komentarz 6 sierpnia 2011 komentarz 6 sierpnia 2011 Nie, nie. Zanim cokolwiek dasz przeglądarce musisz utworzyć ciacho: [code] <?php setcookie('ciasteczko1', '1', time()+600); ?> <html> <head> <title>Ciasteczko</title> </head> <body> <?php echo "cos tam, cos tam"; ?> </body> </html> [/code] 1
wojtex5 komentarz 6 sierpnia 2011 komentarz 6 sierpnia 2011 funkcja setcookie nie ingerują w to co już jest w nagłówku, one jedynie są [b]dopisywane[/b] do nagłówka, jeszcze przed wysłaniem dokumentu. jestem na 99% pewien że chodzi o kodowanie dokumentu. stawiam, że piszesz stronę w notepadzie++, wejdź do Twojego pliku ze stroną i sprawdź co masz zaznaczone w menu Format. prawdopodobnie masz zaznaczone UTF-8, przestaw to na ANSI, i powinno być dobrze. 1
benkowik komentarz 6 sierpnia 2011 komentarz 6 sierpnia 2011 [quote name='wojtex5' date='06 sierpień 2011 - 14:19' timestamp='1312633302' post='1315810'] stawiam, że piszesz stronę w notepadzie++, wejdź do Twojego pliku ze stroną i sprawdź co masz zaznaczone w menu Format. prawdopodobnie masz zaznaczone UTF-8, przestaw to na ANSI, i powinno być dobrze. [/quote] [b]wojtex5[/b] - ja używam tylko UTF-8 i nagłówki działają bez problemu. Często stosuje [php]ob_start(); ob_end_flush();[/php] 1
terminator211 komentarz 6 sierpnia 2011 Autor komentarz 6 sierpnia 2011 Panowie, dziękuję wszytstkim za dobre rady. Wystarczyło dodać bufrowanie wyjściowe w pliku. Jeszcze raz dziękuję i pozdrawiam.
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.