Url Rewriting et perte de session

Eléphanteau du PHP | 27 Messages

19 juil. 2010, 18:48

Bonjour,

j'ai une variable de session qui passe très bien sur mon script en local mais qui ne passe pas en ligne lorsque j'utilise l'url rewriting:

Sur ma page A:

Code : Tout sélectionner

session_start(); $_SESSION['auth'] = $code;
Sur ma page B:

Code : Tout sélectionner

session_start(); echo $_SESSION['auth'];

Ceci marche impec normalement, mais lorsque j'utilise l'url rewriting pour le passage de la page A vers la page B, je soupçonne php de créer une nouvelle session.

Y a t'il une ligne particulière à ajouter au htaccess pour éviter cela?

Merci d'avance!

ViPHP
ViPHP | 5462 Messages

19 juil. 2010, 21:09

$code ca sort d'ou ?

Eléphanteau du PHP | 27 Messages

19 juil. 2010, 23:14

$code est une variable plus haut dans le code

Comme je disais aucun souci de ce coté, cela vient particulièrement du fais que j'utilise l'url rewriting, la variable $_SESSION[auth] n'est pas conservée d'une page a l'autre.
alllezzzzz repondez!!!!! ;)

Petit nouveau ! | 6 Messages

20 juil. 2010, 15:15

Bonjour,

Déjà, as-tu trouvé une solution à ton problème ?

Sinon, peux-tu nous en dire + sur l'url rewriting que tu fais ?

Es-tu sûr que ta variable $code n'est pas vide ?

Ta page B se trouve bien sur le même serveur (tu ne fais pas de redirection d'un www vers un non www ou vers un serveur différent ?)

As-tu essayé de nommée ta session en mettant session_name('nom_de_session'); avant chaque session_sart(); ?

Merci de nous en dire + ou tout simplement indiquer ton avancée / résolution.

Eléphanteau du PHP | 27 Messages

20 juil. 2010, 17:46

Merci Popallo,

Voici mes réponses:
Déjà, as-tu trouvé une solution à ton problème ?
non... mais j'essaye
Sinon, peux-tu nous en dire + sur l'url rewriting que tu fais ?
c'est un url rewriting vers un sous domaine, c'est à dire que je redirige www.monsite.com/pageA.php (où est générée $code) vers fr.monsite.com/$code
Es-tu sûr que ta variable $code n'est pas vide ?
ultra sûr
Ta page B se trouve bien sur le même serveur (tu ne fais pas de redirection d'un www vers un non www ou vers un serveur différent ?)
même serveur mais sous-domaine différent
As-tu essayé de nommée ta session en mettant session_name('nom_de_session'); avant chaque session_sart(); ?
non je vais me renseigner la dessus!
alllezzzzz repondez!!!!! ;)

ViPHP
ViPHP | 5462 Messages

20 juil. 2010, 17:53

cherche plus c'est du aux sous domaines, il faut les autoriser les domaines dans session_set_cookie_params

Petit nouveau ! | 6 Messages

20 juil. 2010, 18:54

Merci pour ta réponse.

Bon eh bien ne cherche pas plus loin. Tu as donc bien deux sessions différentes. La session www.tondomaine.com et fr.tondomaine.com ne partagent surement pas la même session. Je pense que le fait de "nommer" ta session pourra régler le soucis, à tester.
Reviens nous dire si tu as du nouveau stp :)

Eléphanteau du PHP | 27 Messages

21 juil. 2010, 18:51

Super! problème résolu en mettant

Code : Tout sélectionner

session_set_cookie_params(0, '/', '.mondomaine.com');
avant chaque session_start().

par contre aucun résultat avec session_name

Merci à tous!!
alllezzzzz repondez!!!!! ;)

Eléphanteau du PHP | 27 Messages

12 oct. 2010, 17:54

Bonjour,

je déterre ce sujet, car je me suis aperçu que le problème de départ n'était pas résolu à 100%.

Effectivement l'utilisation de la fonction session_set_cookie_params permet de ne pas perdre la session, mais le problème persiste avec le navigateur SAFARI.

Sous tout autre navigateur la session reste!

Quelqu'un a une idée?

Merci!
alllezzzzz repondez!!!!! ;)