Mám problém s vystavením menšího redakčního systému z localhostu na wz.cz a to sice se SESSION, kdy se některé ukládají a některé je nutné přinutit pomocí funkce session_register(). Skoro se to tváří na problém s "register_globals", ale to chování je podivné -- nemáte s tím někdo zkušenosti ? Děkuji.
Zkušenosti s tím mám: na WZ SESSION fungují bez problémů.
jo, taky jsem s tím měl problémy. Problém byl v tom, že na serveru kde bylo register_globals on jsem pouštěl skripty, co mi doma chodily (tam jsem měl register_globals off) a měl jsem stejně nasvanou proměnnou php jako session proměnnou. Záhadu jsem řešil asi dva dny.
Takže to, co strkáš do session, pojmenuj jinak jak proměnné, které používáš v php.
a nebo pouzivej superglobalni pole,tak jak by to mel delat kazdy.Je to dobry zvyk, stejne jako <?php namisto short_tagu, ktery je take na mnoha serverech zakazany
donny, to nic nemění na tom, že bude dělat problém mít jednak $_SESSION['login'] a $login... při register_globals on se budou tyhle dvě věci ovlivňovat.
Děkuji za reakce, ale superglobální pole používám -- na register_globals již dlouho nehraji. Například :
$_SESSION["user_id"] = (!empty($_SESSION["user_id"]) ? $_SESSION["user_id"] : 0);
$_SESSION["user_groups"] = (!empty($_SESSION["user_groups"]) ? $_SESSION["user_groups"] : array());
$_SESSION["user_name"] = (!empty($_SESSION["user_name"]) ? $_SESSION["user_name"] : "none");
if (
($_SESSION["user_id"] == 0 && !empty($_SESSION["session"])) ||
($_SESSION["user_id"] != 0 && ($_SESSION["session"] != session_id()))
)
{
// de-facto logout
unset($_SESSION["session"]);
$_SESSION["user_id"] = 0;
$_SESSION["user_groups"] = array();
$_SESSION["user_name"] = "none";
}
S tím, že v $_SESSION["session"] se mi informace neuchová, takže to přestane všechno fungovat :(.