[php] sesja nie przekazuje zmiennych

0

mam imieszczony sesid, czyli numer sesji w url, i jak przechodze na inną strone mojej strony to zmienne znikają, jak zrobić żeby zostały?

0

czy masz session_start() na początku każdej strony ?

0

tak mam

0

może kodu byś dał bo nikt nie jest jasnowidzem tutaj raczej

0

problem jest prosty zapewne masz register_globals wylaczone dlatego tez korzystaj ze zmiennej predefiniowanej $_SESSION jak chcesz uzyskac dostep do zmiennej sesyjnej.

przyklad:

skrypt1.php:

session_start();
$zmienna = "cos";

skrypt2.php:

session_start();
echo $_SESSION['zmienna'];

i ze wzgledu na bezpieczenstwo lepij jest uzywac zmiennych predefinowanych.

0
Maker napisał(a)

problem jest prosty zapewne masz register_globals wylaczone dlatego tez korzystaj ze zmiennej predefiniowanej $_SESSION jak chcesz uzyskac dostep do zmiennej sesyjnej.

przyklad:

skrypt1.php:

session_start();
$zmienna = "cos";

skrypt2.php:

session_start();
echo $_SESSION['zmienna'];

i ze wzgledu na bezpieczenstwo lepij jest uzywac zmiennych predefinowanych.

tyle że w pierwszym skrypcie nie "$zmienna = <cos>" tylko "$_SESSION['zmienna'] = <cos>"

a jak naprawdę chodzi o register_globals to sobie strzelę w łeb bo już nie wiem skąd ludzie to biorą - może by przykleić wątek żeby był bardzo widoczny o register_globals ?

0

no fakt powinno tam tez tak byc lekka omylka no ale chodzi o register_globals bo nimi wlaczonymi wszystki superglobalne staja sie dostepne jako normalne zmienne w skrypcie problem jest tego typu ze jezeli ta opcja bedzie wlaczona beda powstawaly konflikty bo np GET moze odbierac wartosc o nazwie 'data' a zmienna sesysja tez bedzie o nazwie 'data' i tak w tym samym momencie nie jestesmy pewni jakie jest zrodlo dla zmiennej $data a odnoszac sie do zmiennych predefiniowanych ta pewnosc mamy.

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