Session

Résolu
cs_raurau Messages postés 17 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 26 mai 2008 - 20 nov. 2007 à 12:06
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 20 nov. 2007 à 14:04
Bonjour
J'enregistre une variable dans une session.
Je change de page et je ne peux pas la récuperer sur IE7, mais ça fonctionne bien sous Firefox

J'ai essaye des deux façons suivante pour enregistrer ma variable avec
<?
session_start(); 

$_SESSION["Ville"]=$Ville;
       OU
session_register('Ville');

Et j'ai essaye des deux façons pour la récupere
$Ville= $_SESSION["Ville"];
       OU
$Ville= $HTTP_SESSION_VARS["Ville"];

Merci d'avance pour vos réponses
raurau

3 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 18
20 nov. 2007 à 14:04
Sur IE7, essaye d'autoriser tous les cookies, le temps de tester, pour voir si ça vient bien de là.

Ensuite, pour cette fonction, rien de bien sorcier.

void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure [, bool $httponly]]]] )

Cette fonction ne renvoit rien.

int $lifetime : durée de vie du cookie, doit être un entier.

string $path : chemin du cookie, peut être le chemin du script ou au dessus, mais pas en dessous. Doit être une chaine de caractères

string $domain : domaine du cookie. Généralement, le domaine du site. un cookie enregistré sur le domaine site.com sera disponible sur www.site.com, sur bidule.site.com etc. Un cookie enregistré avec le domaine www.site.com ne sera pas disponible sur bidule.site.com

Les deux autres paramètres peuvent être omis.

bool $secure : si c'est sur SSL (false dans la plupart des cas). Doit être un booléen (true ou false)

bool $httponly : si vaut true, alors le cookie n'est pas accessible par javascript.

Bref. Il suffit de lire la doc des différentes directives de configuration de php, puisque cette fonction ne fait que modifier d'un seul coup toutes ces directives (qui sont modifiables avec ini_set() )

http://fr.php.net/manual/fr/ref.session.php

M'enfin si ça fonctionne avec FF, c'est que ton script est correct. Mais pas la configuration de ton IE. Ou alors, la session n'est pas suffisament bien déclarée pour fonctionner avec la configuration actuelle de ton IE.
3
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 18
20 nov. 2007 à 12:18
Salut,

Ce seriat pas un problème de cookies ?
N'hésite pas à configurer les paramètres de cookies de la session avec session_set_cookie_params : http://fr.php.net/manual/fr/function.session-set-cookie-params.php

Il faut que le domaine et le chemin correspondent au domaine de ton site et au chemin de ton script.
Sinon, le SID risque d'être différent à chaque fois, et les variables de sessions perdues pour toujours.

Tu peux vérifier si la session est toujours la même :

session_start();
echo session_id();
0
cs_raurau Messages postés 17 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 26 mai 2008
20 nov. 2007 à 13:54
Merci
Pour firefox la session ne change pas, mais pour IE7 elle change.
Je suis allé voir sur :
http://fr.php.net/manual/fr/function.session-set-cookie-params.php
Etant débutant et les commentaires qui sont en anglais, je nage.
Merci
raurau
0
Rejoignez-nous