Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje - Warning
Forum PHP.pl > Forum > Przedszkole
czezz
mam 3 pliki

1.php
  1. <?php
  2.  
  3. $dane = &#092;"test\";
  4. session_register(&#092;"dane\");
  5. $_SESSION['dane'] = $dane;
  6. header(&#092;"Location: /ticket/2.php\");
  7.  
  8. ?>


2.php
  1. <table width=95% align=center>
  2. <TR><TD><a href=\"3.php\">Link</a></TD>
  3. <table>
  4. <?php
  5.  
  6. $x = ($_SESSION['dane']);
  7. print $x;
  8.  
  9. ?>


3.php
  1. <?php
  2.  
  3. $y = ($_SESSION['dane']);
  4. print $y;
  5.  
  6. ?>


Oczywiście zgłębiam tajemnice przekazywania zmiennych poprzez sesje.
W zasadzie dane sesyjne przechodzą ale:

Jeśli opdale 1.php to autoamtycznie zostane przeniesiony do 2.php.
Tam zostanie mi wyświetlona wartość $_SESSION['dane'] czyli "text" i to jest OK. Ale oprócz tego wyświetli się ostrzeżenie:
" Warning: Cannot send session cache limiter - headers already sent (output started at C:\FoxServ\www\ticket\2.php:4) in C:\FoxServ\www\ticket\2.php on line 5 "

Jeśli teraz klikne w link, który sobie zrobiłem ( w 2.php) zostane przeniesiony do 3.php. Tu jest wszystko OK. Zmienna $_SESSION['dane'] wyświetla swoją wartość bez żadnych ostrzeżeń.

Co jest źle z 2.php ?
shima
Masz odpowiedź w swoim poście: nie możesz startować sesji po wysłaniu czegoś do przeglądarki, ew. nie możesz nic wysyłać przed zastartowaniem sesji.
czezz
Jeśli dobrze zrozumiałem powinienem usunąć
  1. <?php
  2. ?>
z plików 2.php i 3.php.
Tak też zrobiłem... i dane się nie przenosiły ani do 2.php ani do 3.php.
dr_bonzo
Nie zupelnie dobrze
Cytat
nie możesz startować sesji po wysłaniu czegoś do przeglądarki, ew. nie możesz nic wysyłać przed zastartowaniem sesji.

Nie znaczy to ze masz w ogole nie startowac sesji, ale mozesz przeniesc miejsce startowania sesji, o tak:
  1. <?php
  2. $x = ($_SESSION['dane']);
  3. ?>
  4. <table width=95% align=center>
  5. <TR><TD><a href=\"3.php\">Link</a></TD>
  6. <table>
  7. <?php
  8. print $x;
  9. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.