![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Maaam wielki problem otóż robię pewną stronę od dłuższego czasu no i wszystko było ok aż do dzisiejszego popołudnia. A więc do rzeczy. Na sronie mam panel logowania (w którym ustawiam sessję jeśli dobrze sie zaloguje i mam tam headera), prócz panelu logowania mam też taki przycisk jak wyloguj (po zalogowaniu się). i mój problem polega na tym iż jak się chce zalogować to wywala mi: Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/gimnazjum/tpl/tpl.index.php:116) in /var/www/html/gimnazjum/tpl/tpl.signin.php on line 32 dopiero po odświeżeniu strony lub po zalogowaniu powtórym udaje sie zalogowac poprawnie i to samo dzieje sie przy wylogowywaniu. co nie tak zrobiłem ze te info sie pojawia i jak je wyeliminować (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 0 Dołączył: 12.02.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
pewne funkcje takie jak header czy session_start() muszą zostać wywołane przed wywołaniem czego kolwiek (wyświetleniem czegokolwiek)
a więc
zwróci taki warrning
już nie... problem pojawi się również wówczas gdy wyślesz coś po wczytaniu całej strony gdzie coś zostanie wyswietlone, lub zostaną wysłane nagłówki <head></head> (choć tego nie jestem do końca pewien, ale chyba też ma wpływ ). Jest to założone ze względów bezpieczeństwa. Jeżeli z jakiegoś powodu jednak musisz wywołać funkcje w sposób pokazany na pierwszym listingu to możesz zrobic to tak:
Tylko że to chyba działa tylko w skrypcie w którym zostało wywołane i skryptach do niego zainkludowanych (wiem mieszam trochę (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) ) a drugi sposób możesz po prostu funkcję ustalającą sesję wywołać w innym pliku w którym nic nie wyświetlasz. Trzecia rzecz możesz włączyć w pliku php.ini output_buffering = on (raczej niezalecane, w sumie ograniczenie dla wysyłania nagłówków zostało własnie poto wprowadzone aby zwiększyć bezpieczeństwo) p.s. Na sam koniec załączam linczek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) LINCZEK DO FAJNEJ STRONY na temat Cannot Modify Header znalezione w google (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował yaotzin 3.05.2007, 16:23:57 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 23:18 |