Autor Zpráva
martin_es
Profil
Můj problém spočívá v tom, že pokud si na svém localhostu v jednom souboru založím session, tak uz ji v druhém nevidím, protoze tam jednoduse neni. Kód, který mi nefachá:

sobor index.php
-----------------------
<?php
session_start();
$_SESSION['a'] = 'aaaa';
//echo $_SESSION['a'];
header('Location: index2.php');
?>

soubor index2.php
-------------------------

<?php
session_start();
echo $_SESSION['a'];
?>


První soubor vytvoří session a proměnou zapíše do souboru na disk podle cesty v php.ini. Problém je, že druhý soubor vytvoří na disku druhý session soubor s jiným id a ten uz je prázdný.

Pokud si necham vypsat session už v prvnim souboru bez přesměrování, tak se vypíše.

V php.ini mam nastaveno co je treba...pouzivam cookies, cesty....uz nevim co bych tam nastavil.
Script nefunguje ani když používám session_name();. Vůbec už nebím jak to řešit...problém bude nejspíš v php.ini, ale chci se zeptat, zda se nekdo s nečím podobným už setkal a jestli neví jak z toh ven......předem moc děkuji.
rabbit
Profil
Mně to funguje ;-)

Mám ale dojem, že už jsem se s tímto problémem taky setkal. Problém může imho (!) být v rychlosti spojení prohlížeče se serverem na localhostu. Tzn. že dojde k přesměrování a spuštění druhého skriptu rychleji, než první skript stačí uložit session soubor na disk. Tím pádem pro druhý skript tento soubor neexistuje, případně je nedostupný.

Pomoc by měla být jednoduchá ... umístit do prvního skriptu před přesměrování (header(...)) příkaz pro ukončení a uložení session (session_write_close()). Takto si zajistíš, že před odesláním headru už soubor existuje.

Pozor ... píšeš, že (cituji) "Pokud si necham vypsat session už v prvnim souboru bez přesměrování, tak se vypíše.". Je třeba si uvědomit, že v tu chvíli vypisuješ obsah části pole s názvem $_SESSION, které je v té chvíli uložené v paměti, a ne obsah session souboru uloženého na disku. K uložení obsahu pole na disk dojde až po doběhnutí skriptu (samozřejmě pokud nepoužiješ výše zmíněnou funkci a nevynutíš si uložení dříve).

Dej vědět, jestli Ti to pomohlo.
martin_es
Profil
tak uz mi to funguje :) ...nevim sice čím to bylo, ale když jsem v navalu zlosti nahral založní php.ini tak to najednou začlo fungovat...nejspiš byl problem někde u cesty pro ukládání session a cookies...stejne ale dik
Toto téma je uzamčeno. Odpověď nelze zaslat.

0