Kom ihåg mig?
Home Menu

Menu


sessionproblem

 
Ämnesverktyg Visningsalternativ
Oläst 2010-12-07, 21:26 #1
Rvns avatar
Rvn Rvn är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2005
Inlägg: 309
Rvn Rvn är inte uppkopplad
Flitig postare
Rvns avatar
 
Reg.datum: Aug 2005
Inlägg: 309
Standard sessionproblem

Hej,

Jag har ett konstigt problem med sessions..

När $_SESSION['postsucceed'] sätts så har den ett annat värde än false och ska skrivas ut där blablabla står... och sen ska $_SESSION['postsucceed'] sättas till false...

Det som händer är att ifsatsen aldrig blir sann för det verkar som att värdet på $_SESSION['postsucceed'] hinner sättas till false innan ifsatsen körs..

Någon som har en idé på hur man ska lösa detta?

Såhär ser koden ut:
<?php
if (isset($_SESSION['postsucceed']) && $_SESSION['postsucceed'] != "false")
{
echo "
blablabla
";

$_SESSION['postsucceed'] = "false";
}
?>

mvh,
Philip
Rvn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 21:35 #2
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Testa om http://se.php.net/session_write_close hjälper. I så fall har du ringat in problemet i alla fall.
Lumax är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 21:41 #3
Rvns avatar
Rvn Rvn är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2005
Inlägg: 309
Rvn Rvn är inte uppkopplad
Flitig postare
Rvns avatar
 
Reg.datum: Aug 2005
Inlägg: 309
Det hjälpte när jag la session_write_close(); före $_SESSION['postsucceed'] = "false"; men då sätts inte $_SESSION['postsucceed'] till false alls... Så mitt meddelande visas hela tiden och vitsen är att det bara ska visas en gång...
Rvn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 21:46 #4
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Har du start_session() med innan du anropar eller leker med sessions-datan?
Weaver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 21:49 #5
Rvns avatar
Rvn Rvn är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2005
Inlägg: 309
Rvn Rvn är inte uppkopplad
Flitig postare
Rvns avatar
 
Reg.datum: Aug 2005
Inlägg: 309
Jag har session_start(); längst upp i min index fil som allt anropas igenom..

Alltså sessionerna fungerar.. har många andra sessioner på sidan som fungerar klanderfritt..

Men det funkar tydligen inte att sätta av sessionen inne i ifsatsen...
Rvn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 21:51 #6
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Alltså hinner inte sessionsfilen skrivas innan parsningen kommer till if-satsen.
Måste du använda dig av sessionen för att lagra värdet? Det låter som att allt sker i ett o samma script, och då borde du kunna använda dig av en vanlig variabel tills du kommer längst ner, och då först sätter du $_SESSION['postsucceed'] = $var;
Lumax är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 21:57 #7
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Och det är inte isset som spökar i din if-sats? För om $_SESSION['postsucceed'] aldrig satts till nått värde innan så kommer den ju alltid retunera false och därmed inte gå in i if-satsen.
Weaver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 22:02 #8
Rvns avatar
Rvn Rvn är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2005
Inlägg: 309
Rvn Rvn är inte uppkopplad
Flitig postare
Rvns avatar
 
Reg.datum: Aug 2005
Inlägg: 309
Jag sätter värdet i en annan fil.. direkt efter värdet är satt körs en header("location: ");

I min huvudlayout templatefil ska ett meddelande skrivas ut om sessionen är satt och sedan ska sessiones värde sättas till false..

Jag har provat att sätta sessionens värde till en variabel och lagt variabeln i ifsatsen istället.. men det funkar inte heller.. Har även provat lägga sessionens ändring längst ner i index med en sleep framför och det hjälpte inte det heller..

Är sessionskrivningar högre prioriterade?
Rvn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 22:03 #9
Rvns avatar
Rvn Rvn är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2005
Inlägg: 309
Rvn Rvn är inte uppkopplad
Flitig postare
Rvns avatar
 
Reg.datum: Aug 2005
Inlägg: 309
Citat:
Ursprungligen postat av Weaver Visa inlägg
Och det är inte isset som spökar i din if-sats? För om $_SESSION['postsucceed'] aldrig satts till nått värde innan så kommer den ju alltid retunera false och därmed inte gå in i if-satsen.
Tar jag bort $_SESSION['postsucceed'] = "false"; så fungerar det.. då kommer mitt meddelande upp men då kommer det ju vid varje sidladdning...
Rvn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-07, 22:14 #10
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Citat:
Ursprungligen postat av Rvn Visa inlägg
Jag sätter värdet i en annan fil.. direkt efter värdet är satt körs en header("location: ");
Kör session_write_close(); före header("location...
Lumax är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017