Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sesje - Warning
czezz
post 15.12.2004, 16:01:17
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


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 ?

Ten post edytował czezz 15.12.2004, 16:04:38
Go to the top of the page
+Quote Post
shima
post 15.12.2004, 16:37:43
Post #2





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

Ostrzeżenie: (0%)
-----


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.


--------------------
Nie ma nic stałego prócz zmiany...
Go to the top of the page
+Quote Post
czezz
post 16.12.2004, 08:51:09
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
dr_bonzo
post 16.12.2004, 09:21:37
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 04:46