Autor | Zpráva | ||
---|---|---|---|
SwimX Profil |
#1 · Zasláno: 5. 8. 2011, 22:49:27
Dobrý den,
před několika dny jsem měl na serveru skript, který do sessiony serializoval objekt. Nakonec jsem zjistil, že toto řešení mi stejně nevyhovuje a nyní do sessiony se stejným názvem ukládám pole. index.php require_once ( ADMINDIR."/" . "library/class_lang.php" ); $phrase = new CPhrase; class_lang.php class CPhrase { public function __construct() { if ( @ $_SESSION [ 'phrase'] ) return; $_SESSION [ 'phrase' ] = array ( "neco", "neco2" ); } přesto, když spustím web na serveru s výpisem session hned po startu, tak nejprve v sessině nic není (ok), po refreshi v ní je pole (ok) a po dalším refreshi se v ní objeví objekt třídy CPhrase - neřkuli, že je to objekt neznámé třídy, protože include souboru s třídou je až po session start. Což je ale jedno, já v sessině chci mít pole. Nevíte, čím by to mohlo být způsobeno? Cachují se někde sessiony na serveru? Na localhostu mi to funguje dobře. A pokud na serveru udělám session_start(); session_destroy(); Proč se tam cpe objekt? Nikde v kódu to nemám, prošel jsem to několikrát... Díky za rady |
||
Tori Profil |
#2 · Zasláno: 5. 8. 2011, 22:58:35 · Upravil/a: Tori
Tipuji zapnuté register_globals. Zkuste přejmenovat proměnnou $phrase, ale klíč session nechat beze změny - pokud problém zmizí, bylo to ono.
Dá se vypnout v .htaccess: php_flag register_globals off |
||
SwimX Profil |
#3 · Zasláno: 6. 8. 2011, 10:50:29
Tori:
To mě také napadlo a proto jsem přidal do .htaccesu php_flag register_globals_gpc off Každopádně děkuji za pomoc |
||
Časová prodleva: 13 let
|
0