webForumDet fria alternativet

Sessionsproblem

8 svar · 1 006 visningar · startad av prplxr

prplxrMedlem sedan juni 2012557 inlägg
#1

Ahopp, vi tar en till tråd. Jag har liksom kört fast lite. Tror inte någon ingående förklaring behövs, men om det är något så säg till.

Denna kod fungerar:

if(isset($_SESSION['callback'])) {
	if($_SESSION['callback']) {
		echo "<script type=\"text/javascript\">alert('Du har en återkoppling till detta företag inom tio minuter!');</script>";
	};
};

men inte denna:

if(isset($_SESSION['callback'])) {
	if($_SESSION['callback']) {
		echo "<script type=\"text/javascript\">alert('Du har en återkoppling till detta företag inom tio minuter!');</script>";
	};
	unset($_SESSION['callback']);
};

Den sista outputtar ingenting. $_SESSION['callback'] är en boolean och har förväntat värde (true respektive false när den ska). Inte heller fungerar det att använda sig av "$_SESSION['callback'] = FALSE" istället för unset(). Så fort den biten kod finns med i if-satsen så hoppas echo-raden över.

Varför? :S

metalboyMedlem sedan jan. 2005870 inlägg
#2

Koden fungerar för mig.

P.S.
Nyfiken: Varför har du semikolon efter måsvinge? :)
Det fungerar ju, men är helt onödigt.
D.S.

prplxrMedlem sedan juni 2012557 inlägg
#3

Väldigt lurigt, må jag säga. Det fungerar inte här. Jag är verkligen totalt lost nu. Har du någon aning om var man kan börja leta problem?

Att jag använder semikolon efter måsvinge är bara en smaksak. Jag tycker mig kunna urskilja var loopar och liknande slutar lättare, men det kan också bara vara hjärnspöken. :P

metalboyMedlem sedan jan. 2005870 inlägg
#4

Du behöver nog visa lite mer kod :)
Har du aktiverat visning av PHP-felmeddelanden?
Är du helt säker på innehållet i $_SESSION['callback']?
Kör en var_dump() precis för unset().

prplxrMedlem sedan juni 2012557 inlägg
#5

Jag har aktiverat visning av felmeddelanden och jag är HELT säker på innehållet av två orsaker, dels fungerar det fint om jag tar bort unset()-raden och dessutom har jag kört en var_dump() innan och kikat vad den har för värde. Av den förstnämnda orsaken så ser jag heller inte hur felet kan ligga någon annanstans i koden. Det här förbryllar mig något oerhört. :-S

danjelMedlem sedan juni 200444 inlägg
#6

använder du output buffering ?
testa att slå på och av det

prplxrMedlem sedan juni 2012557 inlägg
#7

danjel skrev:

använder du output buffering ?
testa att slå på och av det

Det gjorde ingen skillnad på den punkten. :(

danjelMedlem sedan juni 200444 inlägg
#8

ok, kan det vara nåt relaterat liknande som denna om du använder header redirect
http://stackoverflow.com/questions/6563928/echo-session-then-unset

prplxrMedlem sedan juni 2012557 inlägg
#9

danjel skrev:

ok, kan det vara nåt relaterat liknande som denna om du använder header redirect
http://stackoverflow.com/questions/6563928/echo-session-then-unset

TACK! Det där gav mig en knuff i rätt riktning. Jag hade faktiskt en if-sats som exekverade en SQL-fråga och sedan redirectade med hjälp av header(). Lade till ytterligare ett påstående till if-satsen så den bara körs om det verkligen behöver (vilket det inte gör när det problemet handlar om ska köras).

TACK ÅTERIGEN! :-D

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb