Aller au contenu

La Session est là mais pas la variable


Sujets conseillés

Posté (modifié)

Bonjour

Dans une page Php, je crée plusieurs variables de session dont celle-ci :

if (!session_id()) session_start();
unset($_SESSION['familleS']);
$_SESSION['familleS'] = $famille;
...

Résultat :

La variable est bien créée et intialisée (vérifié)

Le session_id() est aussi créé et initialisé (vérifié)

Jappelle alors une autre page Php dans laquelle jutilise $_SESSION['familleS'] mais:

- cette variable nexiste pas (print "SESSION familleS: ".$_SESSION['familleS']."<br>";)

- session_id n'existe pas (print "session_id: ".session_id()."<br>";)

Par contre le PHPSESSID existe (2260680e0b97156eb7df5fa3b668fa16), signe que le cookie existe si jai bien compris.

Je débute en variables de session ; jai oublié qqechose ? Par avance merci de votre aide.

Francois

Modifié par francoisch
Posté

Il faut que tu fasses un session_start au début de chaque requête qui va utiliser les variables de session. Ca ne créé pas systématiquement une nouvelle session, ça récupère la session existante s'il y en a déjà une. Pas besoin de tester session_id d'ailleurs.

Jacques.

Posté

bonjour et merci de ta réponse.

J'avais cru comprendre que je dois faire un session_start dans la première page et aucun autre ensuite durant toute la session.

Est ce que tu me dis que, au contraire, je dois mettre un session_start dans chaque page où j'utilise une variable de session?

Francois

Posté

il faut ecrire

<?php

session_start();

?>

avant tout code html et ce pour toutes les pages ou les informations des sessions sont necessaires. exemple faire un fichier header.php pour la partie membre avec le section_start(). et apres l inclure dans toutes les pages. mais c est un exemple apres chacun fait selon ses besoins

Posté

bonjour et merci de vos réponses.

Je ne vous surprendrai pas en vous disant que ça marche.

Je n'avais pas compris ça du tout, comme vous l'avez constaté.

Merci encore de votre aide.

Francois

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...