Jag tror att du bara ska göra en:
session_unset("namn");
istället för:
session_unset($_SESSION['namn']);
3 svar · 309 visningar · startad av Ricki
Tjena,
Som ni vet så hade jag tidigare problem med sessions som ingen lyckades lösa. Jag har därför fixat ihop två kodsnuttar som inte funkar för mig, men som jag ville att någon skulle kunna testa och se om det funkar.
Jag får detta felmeddelande:
Notice: Undefined index: namn in c:\inetpub\wwwroot\Rickard\php\sessions\visasession.php on line 3
Problemet är att den glömmer bort sessionen när man kör Header("Location:"). Men om jag struntar i den så funkar det. Om jag däremot först tar bort den så det funkar och sedan sätter dit den igen så funkar det... Mycket skumt...
Här är iaf koden som jag skulle bli mycket tacksam för om någon provade:
::setsession.php::
<?
session_start();
$_SESSION['namn'] = "ricki";
header("Location: visasession.php");
?>
<a href="visasession.php">Visa den</a>
::visasession.php::
<?
session_start();
echo($_SESSION['namn']);
session_unset($_SESSION['namn']);
session_destroy();
?>
Börja med att köra setsession.php...
Jag tror att du bara ska göra en:
session_unset("namn");
istället för:
session_unset($_SESSION['namn']);
Ok, men har du någon aning om varför den glömmer bort när man kör redirect?
En tanke, nu vet jag inte riktigt hur det är med nyare versioner av php, men en gång i tiden när jag satt med min gamla testburk och hade version 4.0.6 så behövde man väl göra ungefär såhär:
session_start();
$user = "Bengt";
Session_register( "name" );
$HTTP_SESSION_VARS['login'] = $user;
Det var så längesedan jag höll på med det, och det har funkat för mig alltid, så jag antar att det var rätt, kanske är delvis överflödig kod i senare versioner, men det där funkar.
MVH Patrik