Sesje w PHP

0

Mam nastepujace dwa pliki:
PLIK 1 o nazwie index.php:

<html> <?php session_start; $_SESSION['mojazmienna']='pikaczu'; $_SESSION['count'] = 0; echo '
moja zmienna:
'.$_SESSION['mojazmienna']; echo '
count:
'.$_SESSION['count']; echo '
LINK'; ?> </html>

PLIK 2 o nazwie dwa.php:

<html> <?php session_start; echo '
moja zmienna:
'.$_SESSION['mojazmienna']; echo '
Count:
'.$_SESSION['count']; ?> </html>

wg mojej wiedzy w index.php tworze sesje i tworze dwie zmiene o wartosciach pikaczu oraz 0 (zero). nastepnie je wyswietlam.
Po kliknieciu na LINK otwiera sie plik dwa.php, ktory rozpoczyna sesje i powinien wyswietlic wartosci zmiennych wprowadzonych w index.php. Ale lipa bo otrzymuje cos takiego:
Warning: session_start() [function.session-start]: open(/tmp\sess_db86538a2c72754d36d98bf5c02a2539, O_RDWR) failed: No such file or directory (2) in c:\usr\www\sesja\dwa.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at c:\usr\www\sesja\dwa.php:2) in c:\usr\www\sesja\dwa.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\usr\www\sesja\dwa.php:2) in c:\usr\www\sesja\dwa.php on line 3

moja zmienna:

Count:

Warning: Unknown(): open(/tmp\sess_db86538a2c72754d36d98bf5c02a2539, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

O co tu chodzi bo sdzlag mnie trafia przy czyms takim.

0

Na SAMYM POCZĄTKU pliku wstaw coś takiego:

<? ob_start(); ?>

A na SAMYM KOŃCU:

<? ob_end_flush(); ?>
0

poza tym ustaw sobie odpowiedni katalog zapisu sesji w pliku php.ini, bo chyba pod systemem windows nie masz katalogu /tmp...

i jeżeli stosujesz sesje lub ciasteczka to NIC nie może się znaleźć przed session_start(); - ewentualnie skorzystaj z ob_start(); ale to też ma być na SAMYM początku (przed jakimkolwiek <html> czy echo czy coś innego)

0

czesc zrobilem wg zalecen i
index.php

<?php ob_start(); session_start; $_SESSION['mojazmienna']='pikaczu'; $_SESSION['count'] = 0; echo '
moja zmienna:
'.$_SESSION['mojazmienna']; echo '
count:
'.$_SESSION['count']; echo '
link'; ob_end_flush(); ?>

oraz dwa.php

<?php ob_start(); session_start; echo '
moja zmienna:
'.$_SESSION['mojazmienna']; echo '
Count:
'.$_SESSION['count']; ob_end_flush(); ?>

oraz zmiana w pliku php.ini na:
session.save_path = c:/usr/tmp

ale dalej nie dziala. Co prawda nie ma juz komunikatow o bledach od php ale w przegladarce plik dwa.php wyglada:
moja zmienna:

Count:

czyli nie wyswietla wartosci zmiennych. Acha, czy winne moze byc to ze wszystko jest na localhost (win98 apache php).
piszcie co jest zle bo troche glupio by taki prosty kod nie dzialal.

0

zmienne sesyjne nie rejestruje się jako odwołania do tablicy $_SESSION ale poprzez procedurkę session_register()

1 użytkowników online, w tym zalogowanych: 0, gości: 1