francoisch Posté 30 Mai 2009 Posté 30 Mai 2009 (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é 30 Mai 2009 par francoisch
jcaron Posté 30 Mai 2009 Posté 30 Mai 2009 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.
francoisch Posté 31 Mai 2009 Auteur Posté 31 Mai 2009 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
ayendail Posté 31 Mai 2009 Posté 31 Mai 2009 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
francoisch Posté 31 Mai 2009 Auteur Posté 31 Mai 2009 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant