Versio

Vreemd sessie probleem

Overzicht Reageren

Jason de Ridder

Jason de Ridder

26/10/2008 20:10:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?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 unset 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!
 
PHP hulp

PHP hulp

25/05/2012 18:53:46
Gesponsorde koppelingen:
 
Robert Deiman

Robert Deiman

26/10/2008 20:17:00
Quote Anchor link
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.
 
Jason de Ridder

Jason de Ridder

26/10/2008 20:46:00
Quote Anchor link
Ik denk dat ik je niet snap....
 
Jason de Ridder

Jason de Ridder

28/10/2008 19:04:00
Quote Anchor link
BUMP
 
- -

- -

28/10/2008 19:47:00
Quote Anchor link
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...
 
Martijn Wieringa

Martijn Wieringa

28/10/2008 20:27:00
Quote Anchor link
Ik adviseer session_destroy() te gebruiken om alle variabelen van je sessie te verwijderen.
 
Mathijs -

Mathijs -

28/10/2008 22:56:00
Quote Anchor link
hmm ik heb ff een controle gedaan.
ik heb je code gekopieerd en variabelen waardes gegeven.
de volgende code doet het prima:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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?
 



Overzicht Reageren

Get Adobe Flash player