Heren,

Ik heb een raar probleem. Namelijk hij pakt mijn sessie niet goed...
Via een pagina wordt een gebruiker verwijderd, dit gaat goed. In die pagina wordt een sessie-variabele gezet, daarna stuurt die 'handle-pagina' de gebruiker weer terug naar de begin pagina.
Via deze code wordt de sessie uitgelezen:
<?php
if(isset($_SESSION['message'])) {
if($_SESSION['message']['error'] === true) {
echo '<h4 style="color: red;">'.$_SESSION['message']['message'].'</h4>';
}
else {
echo '<h4 style="color: green;">'.$_SESSION['message']['message'].'</h4>';
}
unset($_SESSION['message']);
}
?>

Het rare is dat als ik de [php]unset[/php] functie weglaat de melding wel gewoon wordt weergegeven. Zonder niet...

Iemand suggesties? (Heb trouwens al gecheckt op elke pagina heb ik dezelfde sessie-id)

Groet,
J.

ps - geen fittie bouwen om m'n code!
Om voordat je de waarde controleert de sessie in een andere variabele te plaatsen. Deze gebruik je in de controle en je unset de sessie.
Echo bovenaan eens je sessie, wellicht dat hij hem niet aanmaakt oid... Waarom delete je eigenlijk heel $_SESSION['message'], en niet $_SESSION['message']['error'] ? Om die sessie te legen, zou je ook nog $_SESSION['message']['error'] = array(); kunnen doen...
Ik adviseer [php]session_destroy[/php]() te gebruiken om alle variabelen van je sessie te verwijderen.
hmm ik heb ff een controle gedaan.
ik heb je code gekopieerd en variabelen waardes gegeven.
de volgende code doet het prima:

<?php
session_start();
$_SESSION['message']['error'] = true;
$_SESSION['message']['message'] = 'sagasgasfdhg';

if(isset($_SESSION['message'])) {
if($_SESSION['message']['error'] === true) {
echo '<h4 style="color: red;">'.$_SESSION['message']['message'].'</h4>';
}
else {
echo '<h4 style="color: green;">'.$_SESSION['message']['message'].'</h4>';
}
unset($_SESSION['message']);
}
?>



welke php versie gebruik je?
ik heb dit getest met 5.2.6


of gebruik je misschien een vorm van output buffering?

Reageren