---
title: "lyckas inte ta bort sessionsvärden?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/153443-lyckas-inte-ta-bort-sessionsvärden"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "vic"
published: "2006-11-06T16:44:51.000Z"
updated: "2006-11-07T12:04:43.000Z"
replies: 8
views: 493
page: 1
pages: 1
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/153443-lyckas-inte-ta-bort-sessionsvärden"
---

# lyckas inte ta bort sessionsvärden?

## #1 — vic, 2006-11-06T16:44Z

Hej

Håller på med ett litet e-handelssystem. När man lägger en artikell i kundvagnen sätts ett sessionsvärde ($\_SESSION\['recently'\]) som anger att man nyss laggt en vara i kundvagnen. Kunden omdirigeras till sidan han befann sig på när ha bestämde sig för att lägga artikelln i kundvagnen och kundvagnen blinkar i två färger. När kunden sedan fortsätter och byter sida så skall inte kundvagnen blinka igen! Jag tar därför bort sessionsvärdet recently på samma sida som jag kollar om det är satt för att infoga javascriptet.   :e  Förklaringen blev inte rolig, ja vet.. Detta är i varje fall en file som inkluderas i headern när någonting finns i kundvagnen. Har man nyss laggt in nått i kundvagnen är sessionvärdet recently satt och kundvagnen blinkar.
 

```php
<?php
session_start();
?>
	<!-- Shopping cart -->
	<link rel="stylesheet" href="SYS_template/styles/shopping_cart.css" type="text/css" media="all" />
	<script type="text/javascript" src="SYS_template/javascripts/shopping_cart_control.js"></script>

<?php

if(isset($_SESSION['recently']))
	{ 
	unset($_SESSION['recently']); // fungerar inte...?
	?>
	<script type="text/javascript" src="SYS_template/javascripts/shopping_cart_blink.js"></script>
<?php 
	}
?>
```

Allt funkar som det ska förutom att sessionsvärdet recently inte tas bort?

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

## #2 — sl0k, 2006-11-06T18:00Z

Skriv över värdet istället.

```php
$_SESSION['recently'] = false;
```

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

## #3 — vic, 2006-11-06T18:20Z

jo, det är så ja löst det men prestandamässigt borde det väl vara bättre att helt ta bort variabelvärdet? Jag förstår bara inte varför det inte fungerar...

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

## #4 — sl0k, 2006-11-06T18:26Z

Tror inte unset() är synkron utan den tar bort pekaren asynkront, det går inte att avgöra när. 

Prestandamässigt märker du ingen skillnad, resultatet är samma. 
Den data som tidigare var knuten till $\_SESSION\['recently'\] kommer rensas bort av systemet garbagecollection eftersom den inte längre har några pekare på sig.

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

## #5 — vic, 2006-11-06T18:45Z

aha, okej, tack för svaren...

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

## #6 — Pedda, 2006-11-06T19:21Z

Använd session_destroy()

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

## #7 — vic, 2006-11-07T00:47Z

har kundvagnens varor också i sessioner, med destroy så tas väl alla sessioner bort och kundvagnen blir tom?

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

## #8 — Matte, 2006-11-07T07:34Z

unset() ska ta bort sessionsvariabeln.
I PHP-versioner före 4.3.0 ligger dock en bugg att det inte går att ta bort sessionsvariabler med unset() när register_globals är satt.

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

## #9 — vic, 2006-11-07T12:04Z

ok, jag kör lokalt med en äldre php-version, det förklarar saken!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/153443-lyckas-inte-ta-bort-sessionsvärden
