Avatar billede el_morten Nybegynder
05. april 2007 - 00:56 Der er 10 kommentarer og
2 løsninger

Dræb Sessioner!!

Hej med jer.
Jeg har nogen problemer med mine sessioner. Jeg kan sagtens sætte dem og bruge dataerne fra dem. Men når jeg så skal 'dræbe' dem igen, så kan jeg ikke.
I toppen af alle mine sider har jeg en session_start();

Senere senere sætter jeg f.eks. en session vha. $_SESSION['product_name']=$product_name;

Hvis jeg så vil slette sessionen igen så har jeg prøvet med følgende:
unset($_SESSION['product_name']);
session_unregister('product_name');
og
session_destroy();

Hvorfor sletter den ikke??
Avatar billede showsource Seniormester
05. april 2007 - 06:44 #1
Sletter alle::

<?php
session_start();
$_SESSION = array();
session_destroy();
?>

Sletter en enkelt

<?php
session_start();
unset($_SESSION["navn"]);
?>

Dit problem er nok at du får sat dem igen på dine sider.
Du kan også tjekke med flg. løbende i dit doc, for at finde din fejl.

<pre>
<?php
print_r($_SESSION);
?>
</pre>

sat ind EFTER de steder du ved sætter en session.
Avatar billede el_morten Nybegynder
05. april 2007 - 11:35 #2
Hej showsource.
Hmm.. Det sjove er at jeg kun sætter sessionerne på den side, hvor jeg chekker om de findes i Databasen. Så det vil sige, kun på én side bliver de sat. De andre sider bruger jeg blot dataerne, som jeg gør over 3 sider.
På den sidste side skal de så slettes... men det virker ikke.
Hvis jeg bruger din kode:
<pre>
<?php
print_r($_SESSION);
?>
</pre>
så får jeg det her på hver side:
[product_name] => etprodukt

Har det betydning for hvordan unset($_SESSION["product_name"]); skal stå (eller er det som jeg lige har skrevet?)
Avatar billede showsource Seniormester
05. april 2007 - 12:05 #3
well, et eller sted må du jo sætte igen, efter du har slettet dem.

<?php
session_start();

$_SESSION["product_name"] = "etprodukt";

echo $_SESSION["product_name"];

echo"<p><pre>";
print_r($_SESSION);
echo"</pre>";


unset($_SESSION["product_name"]);

echo"<p><pre>";
print_r($_SESSION);
echo"</pre>";

?>
Avatar billede skriger Nybegynder
05. april 2007 - 14:26 #4
jeg ville nok forslå at istedet for at sleette dem, at du så bare tømmer dem :

$_SESSION['product_name']="";
Avatar billede showsource Seniormester
05. april 2007 - 14:37 #5
ahh, forresten, hvis serveren kører med register_globals sat til on, kan der også gå ged i den hvis du bruger samme navn til en variabel.

<?php
session_start();

$_SESSION["tester"] = "En test på session";

echo $_SESSION["tester"] ."<p>";

$tester = "Noget helt andet!!!";

echo $tester ."<p>";

if(isset($_SESSION["tester"])) {
echo $_SESSION["tester"];
}

?>
Avatar billede el_morten Nybegynder
05. april 2007 - 15:19 #6
Okay, jeg prøver lige jeres forslag. Jeg kører med register globals til on. Det er bare ret så mærkeligt, for på siden hvor jeg un-sætter sessionerne ser det ud til at de bliver slettet, da jeg ikke får noget ud når jeg skriver

echo"<p><pre>";
print_r($_SESSION);
echo"</pre>";

men jeg sender så brugeren videre til en anden side (hvor sessionerne _ikke_ bliver sat igen) og på den side kan jeg står alle sessionerne så, hvis jeg kører ovenstående kode... ? meget mærkeligt synes jeg.
Avatar billede windcape Praktikant
06. april 2007 - 00:51 #7
> Jeg kører med register globals til on.
Slå det fra

Derudover læs eksemplet på http://dk2.php.net/register_globals , det rammer sandsyneligvis præcis dit problem, som showsource allerede har beskrevet.

> showsource
Mere dokumentation i dine inputs ;-)
Avatar billede el_morten Nybegynder
06. april 2007 - 14:13 #8
Jeg har, til min store forundring lige fundet ud af at register_globals er sat til 'Off'.. weird. Nåh, men jeg har fundet en måde at komme af med problemet, ikke den mest sobre programeringsmæssige måde.. men problemet er da løst. Men gad nu godt vide hvor problemet ligger.. :-/
Avatar billede showsource Seniormester
07. april 2007 - 16:12 #9
jahh, kode der skal der jo vises, førend vi andre kan komme med et forslag til hvor det går galt! :O)
Avatar billede el_morten Nybegynder
07. april 2007 - 18:42 #10
Jeg har fået hjælp nok indtil videre, jeg åbner et nyt spg. hvis jeg støder på flere problemer. Showsource, vil du lige smide et svar? :)
Avatar billede showsource Seniormester
08. april 2007 - 06:59 #11
ingen point, ellers tak.
Avatar billede el_morten Nybegynder
08. april 2007 - 15:53 #12
okay :) Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester