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 :

Mise à jour de session à partir de l'url


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Mise à jour de session à partir de l'url
    Bonjour à tous !
    Je n'arrive pas à mettre à jour une variable de session.
    Mon code fonctionne sur plusieurs serveurs sur lequel j'ai fait des tests mais par sur celui de mon client. Pour faire mes tests, j'ai réduit le code au maximum ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    session_start(); 
     
    if ((isset($_GET['lg']))) {
    	$_SESSION['langue_pref'] = $_GET['lg'] ;
    }
     
    if (!isset($_SESSION['langue_pref']) && empty($_SESSION['langue_pref'])  ) { 
    $_SESSION['langue_pref'] = $langue_pref ;	
    }
     
     
    print_r($_SESSION);
    ?>
    Le but du code est donc de mettre à jour la variable de session langue_pref si la lg est spécifié dans l'url.
    du coup, en faisant index.php?lg=truc, ma variable de sessions devient truc.
    Sans rien faire d'autre, si j'actualise mon navigateur, la variable de session est perdue....

    Une idée ??
    Pour info, le site est hébergé dans un répertoire virtuel sur une machine mutualisée chez OVH....

    Merci pour vos réponses !!!

  2. #2
    Membre actif
    Avatar de fmdao
    Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 90
    Points : 210
    Points
    210
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['langue_pref'] =  $langue_pref
    Il sort d'où $langue_pref ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Oui effectivement, il y'a $langue_pref qui est initialisé en début de fichier; j'ai du supprimer la ligne sans faire gaffe. Voici le code complet

    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
    <?php
    session_start(); 
     $langue_pref = 'FR',
     
    if ((isset($_GET['lg']))) {
    	$_SESSION['langue_pref'] = $_GET['lg'] ;
    }
     
    if (!isset($_SESSION['langue_pref']) && empty($_SESSION['langue_pref'])  ) { 
    $_SESSION['langue_pref'] = $langue_pref ;	
    }
     
     
    print_r($_SESSION);
    ?>

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Sauf erreur de ma part, empty gère le cas !isset, donc tu peux simplifier ta condition en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (empty($_SESSION['langue_pref'])  ) { 
        $_SESSION['langue_pref'] = $langue_pref ;	
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Oui je suis d'accord avec toi, mais cela ne change rien à mon problème.
    J'ai rajouté cette condition supplémentaire au cas ou.

    Initialement, j'avais bien cette condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (empty($_SESSION['langue_pref'])  ) { 
        $_SESSION['langue_pref'] = $langue_pref ;	
    }

  6. #6
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    salut;
    Mon code fonctionne sur plusieurs serveurs sur lequel j'ai fait des tests mais par sur celui de mon client.
    est ce que t'a un message d'erreure !!!
    var_dump($langue_pref ) sa donne quoi ?

  7. #7
    Membre actif Avatar de greg91
    Homme Profil pro
    Administrateur système
    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 208
    Points
    208
    Par défaut
    Penche toi sur l'environnement du serveur de ton client :

    -Quelle est le niveaux d'erreur pour le log PHP
    -Le PHP crache t-il des messages (si il est bien configuré)
    -Les sessions fonctionnent t-elles dans d'autres scripts du vhost ? (partition du hdd full)
    -T'a pas un header('Location :xxxxx'); sans exit(); tout de suite après ? Le comportement peut différer d'un serveur à l'autre dans ce cas.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Bonjour à tous et merci pour vos réponses.

    En fait, ça ne venait pas de mon dév. mais de l'herbergeur. Il rencontrait des problèmes avec le load balancing des serveurs et du coup la session était shootée automatiquement.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/08/2008, 13h09
  2. [MySQL] Mise à jour d'enregistrements à partir d'un formulaire
    Par lupus83 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/06/2008, 12h09
  3. Réponses: 6
    Dernier message: 01/04/2008, 19h38
  4. Mise à jour planning exchange à partir d'access
    Par kernel57 dans le forum Access
    Réponses: 5
    Dernier message: 22/01/2007, 16h08
  5. Mise à jour de données à partir d'une autre table
    Par rsc dans le forum Langage SQL
    Réponses: 7
    Dernier message: 05/04/2006, 11h53

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