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] Variable de Session capricieuse :/


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut [Cookies] Variable de Session capricieuse :/
    Salut à tous !
    Dans le code ci-dessous, j'ai un soucis : la variable $_SESSION['cookie'] perd sa valeur .. elle est comme "réinitialisée" au rappel de la page par l'intermédiare de "header(Location ...);"

    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
    21
    22
    23
    24
    <?php
    /* Gestion des cookies pour la langue */
    session_start();
    if (!isset($_COOKIE["langue"]))
    {
    	if (!isset($_SESSION['cookie']))
    	{
    		$_SESSION['cookie'] = true;
    		$langue = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
    		setcookie("langue", $langue[0], time()+9999999, "/");
    		header("Location: ".$_SERVER['SCRIPT_URI']);
    		exit();
    	}
    	else
    	{
    		$err = "<center><b><font size=3 color=black>Veuillez ACTIVER les cookies !!<br>
    		Cookies must be enabled to navigate in english !!!<br><br></font></b></center>";
    		$lang = "fr";
    	}
    }
    else
    {
    	$lang = $_COOKIE["langue"];
    }
    Si vous pouviez m'aider .... je ne sais plus vers quoi me tourner

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    A ce que je comprends si tu rerentres dans ton test de la session cookie c'est que ton cookie (langue) n'est pas défini alors que tu viens juste de le créer.

    Si tu fais un echo du cookie et un echo de la session tu obtiens quoi ?

    EDIT : fait plutot un var_dump de tes variables
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    [ merci de t'intéresser à ma cause ^^ ]

    En fait quand je fais des echo ca me fait des erreurs d'header c'est normal ^^
    Mais je me suis envoyé des mails à la place XD et en fait ben la variable passe bien à "true" [ sOit = 1 ] mais après le header(Location: ... elle est à nouveau inconnue ^^'

  4. #4
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Tente une redirection en JS pour voir si ça te fait le même souci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script>window.location.href = "tapage.php";</script>
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  5. #5
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ben non je ne peux pas insérer du JS car je suis AVANT les balises <html> et head de la page

    Le problème c'est que ca débouche sur une boucle INFINIE vu que la variable de session est à chaque "tour" [en fait après chaque rappel de la page] en quelque sorte "effacée" car il entre dans le "if (!isset($_SESSION['cookie'])"

    Ke problème c'est vraiment cette variable ... parce qu'elle passe bien à "true" .. mais INUTILEMENT .. c'est comme si à chaque fois il recréait une NOUVELLE session

  6. #6
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    cookie n'est peut etre pas un choix judicieux de nom de cle.
    Si register_global est active, il y a des chances qu'une variable ait le meme nom.
    Prefixe la et dis nous si cela change qqch.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  7. #7
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    j'ai appelé la variable "sess-cookie" mais rien n'y fait


    Mais vous ne voyez cause de disparition de ma variable dans le code ? parce que moi je ne trouve vraiment pas ... je peux ajouter peut être pour vous aider que ce code est dans une page elle même incluse dans tous les entête de toutes les pages du site ... AVANT tout autre code

  8. #8
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Je me suis envoyé un mail à chaque occurence du code, en y joignant la valeur de $_SESSION['sess-cookie'], qui vaut toujours RIEN, mais aussi l'id de la session ... et là à CHAQUE nouvelle redirection, l'id de session est différent .... je ne crois pas que ce soit normal :/

    Ce qui confirme dce probleme de SESSION dans mon code

    A l'aide please .. tout marche sur mon site sauf cet aspect ... j'aimerai l'ouvrir plutôt qu'avoir ce "coming sonn" ^^

    NikO.

  9. #9
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bon j'ai résolu mon problème en passant le SID en paramètre à session_start(); dans le cas où les cookies ne sont pas acceptés .... c'est moche car on voit l'SID de la session dans la barre ... mais je recomande à l'utilisateur d'activer ses cookies ... comme ça tout marche et tout le monde est content lOl ^^

    NikO.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/05/2008, 18h31
  2. [Cookies] variables de session avec JpGraph ?
    Par mnem0 dans le forum Langage
    Réponses: 8
    Dernier message: 04/06/2007, 14h05
  3. [Cookies] variable de session ou cookie non transmise
    Par dubitoph dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2006, 21h37
  4. Réponses: 1
    Dernier message: 07/06/2006, 17h14
  5. [Cookies] Variable de session + IE
    Par Phenomenium dans le forum Langage
    Réponses: 4
    Dernier message: 24/03/2006, 11h28

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