VikingMedlem sedan maj 2000977 inlägg
Hej, jag har ett litet problem med en session här. Den funkar när $landsession är tom, utan värde, men när man ger den ett värde, t ex Sverige, skriver webbläsaren ut "Din session säger att du inte är från Sverige..."
Uppskattar hjälp :)
<?PHP
$connect = mysql_connect("localhost", "***", "***");
mysql_select_db("vallgren");
session_start();
$landSession = "Sverige";
session_register("landSession");
if($HTTP_SESSION_VARS['landSession'] == "Sverige")
{
echo "Din session säger att du är från Sverige!";
}
else
{
echo "Din session säger att du inte är från Sverige...";
}
session_unregister ( "landSession" );
session_destroy();
?>
LavveMedlem sedan nov. 200134 inlägg
Du har glömt ett litet $-tecken på raderna där det står
session_register("landSession");
och
if($HTTP_SESSION_VARS['landSession'] == "Sverige")
och
session_unregister ( "landSession" );
------------------
ID1: PIII 600, 128, 14GB, 17", Win98SE
ID2: PII 400, 192, 12GB, 17", CDRW, Win98SE/Win2KPro
ID3: PI 166, 128, 3GB, 15", Win98SE
VirrdoMedlem sedan okt. 2001167 inlägg
Lavve: man ska inte använda $ framför variabler i sessionskommandon (såsom session_register("")).
Tyvärr sitter jag för tillfället i skolan och kan därför inte kontrollera vad de är för någe fel...
------------------
Bambadam !@#
VikingMedlem sedan maj 2000977 inlägg
Lavve: Det blir ingen skillnad om man har det eller inte... :(
VikingMedlem sedan maj 2000977 inlägg
Nån som vet vad felet är? :)
ChavezMedlem sedan maj 20001 297 inlägg
Börja med och registrera den innan du tilldelar den ett värde. Sedan brukar jag aldrig använda session_start() när jag ändå registrerar dem med session_register(). Inte helt hemma på sessions, men testa! :)
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
Första PHP portalen på svenska!!
VirrdoMedlem sedan okt. 2001167 inlägg
Chavez: man är ila tvungen att ha med session_start(); i varje fil som man använder sessions i annars fungerar det inte överhuvudtaget.
------------------
Bambadam !@#
VikingMedlem sedan maj 2000977 inlägg
Web-TorMedlem sedan nov. 200011 794 inlägg
Chavez menar nog att koden skall se ut så här:
session_start();
session_register("landSession");
$landSession = "Sverige";
Virrdo ->
man är ila tvungen att ha med session_start(); i varje fil som man använder sessions i annars fungerar det inte överhuvudtaget.
Inte om session.auto_start är satt till 1 i php.ini ;)
------------------
/Tor
www.tor.nu
[Redigerat av Web-Tor den 06 dec 2001]
oelbalMedlem sedan jan. 20013 016 inlägg
Det är knepigt det här med sessioner. Jag rekommenderar http://www.php.net/manual/en/function.session-register.php för närmare instruktioner om session_register(). Att läsa igenom allt som användarna har skrivit hjälper ofta. Där återfinns ofta svar på många frågor.
När det gäller tilldelning av värde och registrering av variabel i en session så har jag inte läst något om att detta bör göras i en speciell ordning.
De flesta (inklusive mig) tycks göra på detta sättet, alltså inte som Chavez säger:
$namn = "Bertil";
session_register("namn");
------------------
Det händer att jag inte är mig själv. Då är jag någon annan.
ChavezMedlem sedan maj 20001 297 inlägg
Ok, kan hända att de flesta inte gör som jag gjort. Men faktum kvarstår, jag registrerar alltid mina session variabler i början av filen (och det har fungerat hittils).
Känns på något sätt dump att tilldela någonting som inte existerar :)
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
Första PHP portalen på svenska!!
VikingMedlem sedan maj 2000977 inlägg
Det funkade inte bättre på Chavez' sätt... :(
Vad osm blir fel är att han inte fattar att jag faktiskt har gett min session värdet Sverige, utan visar det som att sessionen pekar påa tt man inte är från Sverige... :l
SPiNMedlem sedan mars 20005 832 inlägg
Jag ser inte något fel direkt, men jämför mot kodexemplen i min artikel som finns på http://www.phpportalen.net - de fungerar excellent! :)
------------------
SPiN, bjorne.w@telia.com
-- Man vinner inte silver, man förlorar guld --
VikingMedlem sedan maj 2000977 inlägg
SPiN: Gissa varifrån jag fått det där ;)
oelbalMedlem sedan jan. 20013 016 inlägg
Chavez:
Känns på något sätt dump att tilldela någonting som inte existerar
$namn = "Bertil";
session_register("namn");
Hur menar du nu?
Variabeln existerar ju innan du registerar den?
------------------
Det händer att jag inte är mig själv. Då är jag någon annan.
[Redigerat av oelbal den 07 dec 2001]
YmerMedlem sedan dec. 200181 inlägg
Hej hopp. Jag är med viking och försöker få det att funka med det går ej.
Koden som viking postade är ju en exempel kod från phpportalen. Den är nästan exakt likadan men ändå går det inte. Vad är fel :q
Hjälp plz
------------------
Har inte kommit på någon bra signatur än
VikingMedlem sedan maj 2000977 inlägg
Haben Sie kein anung? :)
------------------
Detta är en signatur
MatteMedlem sedan aug. 20002 970 inlägg
Är inte så säker på det här med sessions, men min misstanke är att poster i $HTTP_SESSION_VARS sätts först när man lämnar sidan. Om man istället sätter posterna direkt bör det fungera.
session_register("landSession");
$HTTP_SESSION_VARS["landSession"] = "Sverige";
------------------
Fiskesällskapet Salamander
VikingMedlem sedan maj 2000977 inlägg
Hur menar du?
------------------
Detta är en signatur
MatteMedlem sedan aug. 20002 970 inlägg
om register_globals=off i php.ini måste man använda $HTTP_SESSION_VARS för att sätta och läsa sina session-variabler.
om register_globals=on läser man varabler direkt if($landSession=="Sverige") , och variabeln lagras i $HTTP_SESSION_VARS när man lämnar eller laddar om sidan. (Om jag nu förstått saken rätt).
I kod-exemplet överst är ju variabeln borttagen med session_unregister och session_destroy. Utan dessa bägge rader skulle du fått det rätt om du laddade om sidan.
------------------
Fiskesällskapet Salamander