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 :

Modification d'un cookie


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 236
    Par défaut Modification d'un cookie
    Bonjour,

    J'ai un code php qui me crée un cookie afin d'identifier la langue du site.
    Dans le cookie c'est la variable lang qui fait cela.

    Je souhaiterai lorsque que l'utilisateur clique sur le drapeau "uk" que la variable dans le cookie passe a "uk" et quand il clique sur le drapeau "fr" que la variable repasse a "fr" afin de faire le bonne include du texte en fonction de "fr" ou "en".

    Voici mon code php qui permet de crée le cookie et d'include le bon texte suivant la langue qui fonctionne bien le fichier decide-lang.php :

    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
    25
    26
    27
    <?php
     
    	if(isset ($HTTP_COOKIE_VARS['lang'])) {
    		$lang = $HTTP_COOKIE_VARS['lang'];
    	}
    	else { // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
    		$lang = substr ($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2);
    	}
     
    	if ($_GET['lang']=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
    		include('lang/fr-lang.php');
    	}
     
    	else if ($_GET['lang']=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
    		include('lang/en-lang.php');
    		}
     
    	else { // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut
    		include('lang/fr-lang.php');
    	}		 
    	//définition de la durée du cookie (1 an)
    	$expire = 365*24*3600;
     
    	//enregistrement du cookie au nom de lang
    	setcookie ("lang", $lang, time () + $expire);
     
    ?>
    voici mon fichier uk.php qui correspond lorsqu'on clique sur le drapeau "uk" qui ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    	include("decide-lang.php"); 
     
    	$expire = 365*24*3600;
    	$lang = "en";
    	setcookie ("lang", $lang, time () + $expire);
     
    	header('Location: index.php');
    	exit();
    ?>
    Je pense faire une erreur dans mon code du uk.php

    Avez vous une idée ?

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 236
    Par défaut
    j'ai résolu en faisant ceci :

    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
     
    	if(isset ($_COOKIE['lang'])) {
    		$lang = $_COOKIE['lang'];
    	}
    	else { // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
    		$lang = substr ($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
    	}
     
    	if ($lang =='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
    		include('lang/fr-lang.php');
    	}
     
    	else if ($lang =='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
    		include('lang/en-lang.php');
    		}
     
    	else { // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut
    		include('lang/fr-lang.php');
    	}		 
    	//définition de la durée du cookie (1 an)
    	$expire = 365*24*3600;
     
    	//enregistrement du cookie au nom de lang
    	setcookie ("lang", $lang, time () + $expire);
    merci bien

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/11/2013, 18h19
  2. Modifications, suppressions cookies FireFox
    Par baym54 dans le forum Android
    Réponses: 2
    Dernier message: 26/12/2012, 17h13
  3. [Débutant] Modification de Cookie IE8
    Par filsdegandalf dans le forum C#
    Réponses: 1
    Dernier message: 04/10/2012, 09h57
  4. Modification de cookies
    Par thib3113 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2012, 01h20
  5. Modification d'un cookie
    Par oliviernouhi dans le forum Langage
    Réponses: 10
    Dernier message: 11/05/2012, 17h23

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