Bonjour,

je développe un site en php 5. J'utilise un objet $membre que j'instancie lors de l'authentification. Ca, ça marche j'en suis certain (test avec isset plus test des méthodes sur l'objet).

J'utilise les deux fonctions suivantes en début et en fin de mon contrôleur afin de maintenir la session.

Début :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    /**
     * Démarre ou reprend une session
     */
    function debutSession() {
        session_start();
 
        $membre = $_SESSION['membre'];
        if ($membre)
            $membre = unserialize($membre);
 
        return $membre;
    }
Fin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
    /**
     * On clot la session et le programme.
     * L'objet de la classe Membre contenant les informations de 
     * la session courante ($membre) est sauvé.
     */
    function finSession($membre) {    
        if (isset($membre)) {
            $_SESSION['membre'] = serialize($membre);
            session_write_close();
        }
        else {  // si $membre n'a pas été initialisé, on détruit
                // la session
            session_destroy();
        }
        exit(0);
    }
Dans l'index (le contrôleur) ( au tout début) je récupère le membre dans une variable et je recopie dans la session :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
    $racine = 'C:/web/xampp/htdocs/tsf98/';
    $membre = debutSession();
    $_SESSION['membre'] = $membre;
Et là, c'est le drame, dès que je change de page, la variable $_SESSION['membre'] n'est plus conssidérée comme étant renseignée. ( le test isset ne passe pas et les fonctions appliquées à l'objet membre bugg (normal...).

L'erreur vient donc de cette fermeture de session qui ne retourne apparemment pas correctement l'objet membre. Où est l'erreur??