Strona 1 z 1

[session] problem z session_start()

: wt gru 12, 2006 2:55 pm
autor: czmielu
WItam! Dlaczego, gdy wywołuje plik "set.php":


[php]<?php
<?
session_start();
ob_start();
$_SESSION["login"] = $login;
$_SESSION["haslo"] = $haslo;
$_SESSION["zalogowany"] = 1;

?>

<html>
<head>
<meta name="generator" content="WebSite PRO 4.3" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Zalogowano!</title>
</head>
<body>
<center><br>Logowanie zakończone!</center>
</body>
</html>
?>[/php]


pokazuje się:

Kod: Zaznacz cały

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home.15/b/r/o/brocik/www/plikaj/gfx/ustawienia.php:8) in /home.15/b/r/o/brocik/www/plikaj/logowanie/set.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home.15/b/r/o/brocik/www/plikaj/gfx/ustawienia.php:8) in /home.15/b/r/o/brocik/www/plikaj/logowanie/set.php on line 2


Logowanie zakończone!
Nie wiem już jak headery mogly sie wyslac wczesniej...

Re: [session] problem z session_start()

: wt gru 12, 2006 3:16 pm
autor: VeRmin
Zrób:

[php]
<?php
session_start();

// ..... dalsza cześć kodu
[/php]

Najlepiej jak przez session_start nie będzie żadnych przerw, żadnego html'a. Poza tym masz zduplikowane znaczniki otwierające php :).

...

: wt gru 12, 2006 6:33 pm
autor: 123456
Najlepiej jak przez session_start nie będzie żadnych przerw, żadnego html'a
To jest konieczne. Zwróc uwage gdzie masz znacznik otwierajacy PHP. Ostrzezenie wywali sie nawet wtedy, kiedy bedzie jedna pusta linia przed <?php. Buforowanie radzilbym zrobic na samym poczatku i oczywiscie nie zapomniec o jego zakonczeniu.

Re: [session] problem z session_start()

: śr gru 13, 2006 6:50 pm
autor: viraptor
Tak jak masz napisane w komunikacie:
Wysłałeś już coś w "gfx/ustawienia.php:8"
Czyli samo "logowanie/set.php" było skądś includowane, albo includowało ten plik. Jeśli wywołujesz set.php, to znaczy, że wklejając tu kod okroiłeś go z kilku include'ów.

Re: [session] problem z session_start()

: śr gru 13, 2006 7:24 pm
autor: kopendrex
masz dwa razy okreslenie ze uruchamiasz skrypt:

<? oraz <?php pozbadz sie <? a zostaw <?php

...

: śr gru 13, 2006 7:30 pm
autor: 123456
masz dwa razy okreslenie ze uruchamiasz skrypt:

<? oraz <?php pozbadz sie <? a zostaw <?php
Przeciez tylko tutaj jest 2x ten znacznik. Kiedy sie uzywa kolorowania skladni to phpBB samo na poczatku dodaje otwieranie skryptu jak widac ponizej.

[php]<?php

?>[/php]

Ktos zapyta: "no i co z tego?". Odpowiadam: czmielu skopiowal po prostu kod z pliku razem ze znacznikami otwierajacymi, przez co widac je podwojnie. Jednak to nie jest powodem bledu jak to niektorzy twierdza.

Re: [session] problem z session_start()

: śr gru 13, 2006 7:43 pm
autor: kopendrex
Coz w takim przypadku moze to byc wina zapisu kodowania, tj. do wyswietlania uzywa iso-8859-2 jesli ma w swoim edytorze ustawione zapisywanie jakies inne kodowanie moga pojawiac sie na poczatku dziwne znaki podczas wyswietlania co de facto spowduje wyswietlenie znaku zanim zotsana wyslane informacje o sessji.

Re: [session] problem z session_start()

: śr gru 13, 2006 8:42 pm
autor: viraptor
kopendrex pisze:na poczatku dziwne znaki
Nie dziwne znaki, tylko BOM z utf-a. A BOM jest pierwszym znakiem, więc nie występuje w 8 linii :evil: Opis błędu przecież wszystko wyjaśnia.