Autor Zpráva
phobos9007
Profil
if (empty ($_SESSION["test"])) $test = "zapnout";

if ($test == "zapnout")
{
                echo $x =  "tohle by se mělo vypsat";
	$_SESSION["test"] = "vypnout";
}


Po spuštění skriptu by neměla snad logicky SESSION mít žádnou hodnotu a normálně vypsat $x, ale ona kupodivu má tu hodnotu, která je v podmínce, což je "vypnout", takže se mi nikdy $x nevypíše. Jak je tohle možné, nemám něco se serverem?
Davex
Profil
phobos9007:
Po spuštění skriptu by neměla snad logicky SESSION mít žádnou hodnotu a normálně vypsat $x
Hodnota v $_SESSION["test"] zůstane nastavená i při příštím spuštění skriptu a proměnná $x se v tomto úseku kódu nikde nevypisuje, protože tam není žádné echo.
phobos9007
Profil
Díky za reakci,
Ale zapomněl jsem dodat, že skript spouštím po úplně novém otevření prohlížeče(ů) a tu $x vypisuji někde mimo. Opravím to na echo ať to nemate
Davex
Profil
Nemáš výstup zkušebního skriptu nakešovaný? Vypisuj si ještě aktuální čas. Pokud v prohlížeči vymažeš cookies, tak by se to mělo chovat podle očekávání.
johnl
Profil
phobos9007:
že skript spouštím po úplně novém otevření prohlížeče(ů)
Nejlépší je sessiony smazat přímo z prohlížeče.. Mě například ve firefoxu zůstanou nějakou dobu i po zavření prohlížeče..
phobos9007
Profil
No právě že ne, všechny ostatní sessions se mi hned po zavření okna vyprázdní, i tohle! (vyzkoušeno pomocí empty a isset). Ta session je prokázaně prázdná, ale jakmile ji spojím s pseudoself podmínkou, naplní se, i když by neměla. prostě magie nebo hrozná přehlídnutá kravina nebo snad bug pět tři trojky?
denCo
Profil
phobos9007:
if (empty ($_SESSION["test"])) $test = "zapnout";

zmente na
if (!isset ($_SESSION["test"])) $test = "zapnout";
phobos9007
Profil
denCo:
(vyzkoušeno pomocí empty a isset)
phobos9007
Profil
Přátelé, tak na tohle budu dlouho vzpomínat, už jsem přišel na to divné chování, já jsem si vůbec neuvědomil, že kvůli testování dočasně přesměrovávám v jedné třídě zpátky do indexu, takže si asi dokážete představit, co to udělalo :D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0