---
title: "Ett sessionproblem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16421-ett-sessionproblem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Viking"
published: "2001-12-04T16:03:00.000Z"
updated: "2001-12-14T12:32:00.000Z"
replies: 21
views: 260
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/16421-ett-sessionproblem"
---

# Ett sessionproblem

_Sida 1 av 2._

## #1 — Viking, 2001-12-04T16:03Z

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();

?>
```

Permalänk: https://www.webforum.nu/p/16421

## #2 — Lavve, 2001-12-04T20:37Z

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" );

Permalänk: https://www.webforum.nu/p/325176

## #3 — Virrdo, 2001-12-05T10:59Z

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...

Permalänk: https://www.webforum.nu/p/325177

## #4 — Viking, 2001-12-05T19:03Z

Lavve: Det blir ingen skillnad om man har det eller inte...  :(

Permalänk: https://www.webforum.nu/p/325178

## #5 — Viking, 2001-12-05T20:03Z

Nån som vet vad felet är?  :)

Permalänk: https://www.webforum.nu/p/325179

## #6 — Chavez, 2001-12-05T21:25Z

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! :)

Permalänk: https://www.webforum.nu/p/325180

## #7 — Virrdo, 2001-12-06T09:28Z

Chavez: man är ila tvungen att ha med session_start(); i varje fil som man använder sessions i annars fungerar det inte överhuvudtaget.

Permalänk: https://www.webforum.nu/p/325181

## #8 — Viking, 2001-12-06T10:03Z

Chavez: Hur menar du?  :q

Permalänk: https://www.webforum.nu/p/325182

## #9 — Web-Tor, 2001-12-06T10:45Z

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 ;)

Permalänk: https://www.webforum.nu/p/325183

## #10 — oelbal, 2001-12-06T12:41Z

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");
```

Permalänk: https://www.webforum.nu/p/325184

## #11 — Chavez, 2001-12-06T13:51Z

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 :)

Permalänk: https://www.webforum.nu/p/325185

## #12 — Viking, 2001-12-06T15:17Z

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

Permalänk: https://www.webforum.nu/p/325186

## #13 — SPiN, 2001-12-06T15:23Z

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! :)

Permalänk: https://www.webforum.nu/p/325187

## #14 — Viking, 2001-12-06T15:53Z

SPiN: Gissa varifrån jag fått det där  ;)

Permalänk: https://www.webforum.nu/p/325188

## #15 — oelbal, 2001-12-06T19:45Z

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?

Permalänk: https://www.webforum.nu/p/325189

## #16 — Ymer, 2001-12-07T13:11Z

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

Permalänk: https://www.webforum.nu/p/325190

## #17 — Viking, 2001-12-08T09:11Z

Haben Sie kein anung?  :)

Permalänk: https://www.webforum.nu/p/325191

## #18 — Matte, 2001-12-08T13:34Z

Ä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";
```

Permalänk: https://www.webforum.nu/p/325192

## #19 — Viking, 2001-12-08T14:24Z

Hur menar du?

Permalänk: https://www.webforum.nu/p/325193

## #20 — Matte, 2001-12-08T17:40Z

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.

Permalänk: https://www.webforum.nu/p/325194

---

Tråden på webben: https://www.webforum.nu/amne/php/16421-ett-sessionproblem  
Nästa sida: https://www.webforum.nu/amne/php/16421-ett-sessionproblem/page2.md
