IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] Chaque page démarre une nouvelle session


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [Cookies] Chaque page démarre une nouvelle session
    Bonsoir,

    Actuellement en train de développer un site bilingue français/anglais en PHP, je travaille sous EasyPHP 1.8 (PHP 4.3.10) avec librairie GD activée.

    Je souhaite passer d'une page à l'autre une variable contenant la chaîne 'fr' ou 'en', suivant la langue choisie par l'utilisateur (par défaut français, un clic sur un lien permet de changer la langue). Je souhaite conserver cette variable sur toutes les pages, je me suis donc orienté vers les sessions.

    Après avoir épluché plusieurs docs concernant les sessions (doc PHP.net, document "Débuter avec les sessions" de Cyril Beaussier notamment), je ne comprend toujours pas l'origine de mon problème.

    Toutes mes pages commencent par un include de ce fichier :

    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
    18
    19
    20
    <?php
    	ini_set('arg_separator.output','&amp;');
    	session_start();
     
    	// inclusion du fichier langue
    	if (!isset($_SESSION['lang'])) {
    	echo "pouet";
    		$_SESSION['lang'] = 'fr';
    	}
    	if (isset($_GET['lang'])) {
    		if ($_GET['lang'] == 'en') {
    			$_SESSION['lang'] = 'en';
    		}
    		else {
    			$_SESSION['lang'] = 'fr';
    		}
    	}
    	echo $_SESSION['lang'];
    	include("./inclu/lang/".$_SESSION['lang']."/lang.php");
    ?>
    Notez le "pouet" Il revient en haut de chaque page, ce qui signifie que ma session est toujours vide... En fait, le répertoire /tmp/ d'EasyPHP se remplit de fichiers session à chaque nouvelle page visitée. Il me semble donc que mon navigateur (Firefox 1.5 sous Windows XP Pro) ne reconnait pas la session commencée une page plus tôt, et qu'une nouvelle session se crée à chaque page visitée !

    Faut-il passer l'identifiant de session dans chaque URL pour toujours travailler dans la même session ? A ce moment, autant passer directement la variable $lang dans tous les URL (beurk) !

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Pour l'identifiant de session c'est une question de configuration. Dans le PHP ini il y'à une variable qui doit s'appeler use_trans_sid.
    Elle vas permettre de définir si l'on veut envoyer l'identifiant par URL ou Cookie.

    Bon disons que si ce n'est pas un impératif passe le par url, sinon par cookie, mais sache que les clients qui n'autorisent pas les cookie ne pourront naviguer sur ton site :s

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir et merci,

    Effectivement, session.use_trans_sid est "Off" dans Easy PHP. Chez mon hébergeur, elle est à "0", ce qui revient au même...

    Dommage, ça oblige à utiliser les cookies, et effectivement, mon problème venait du fait que les cookies sont bloqués par mon navigateur. Une exception faite sur localhost règle le problème.

    Scusez du dérangement

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    pas de souci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/06/2009, 13h36
  2. Réponses: 11
    Dernier message: 21/01/2009, 15h55
  3. Ouvrir une page dans une nouvelle fenêtre ou un nouvel onglet
    Par coco38 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 29/05/2007, 10h11
  4. session_start initialise une nouvelle session
    Par mr_neness dans le forum Langage
    Réponses: 5
    Dernier message: 20/06/2006, 14h11
  5. Réponses: 15
    Dernier message: 02/03/2006, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo