begin process at 2012 05 30 23:45:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Importation d'une variable par cookie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Importation d'une variable par cookie

lundi 14 novembre 2011 à 09:38:55 | Importation d'une variable par cookie

jrmy7

Bonjour à tous !

Comme vous le devinerez je débute en PHP.
C'est la deuxième fois que je pose cette question, la première publication m'a permis de comprendre beaucoup de chose mais pas à résoudre mon problème que je vais tenter de vous présenter le plus clairement possible.

Je suis entrain de réaliser un site en 3 langues différentes (en, fr, nl)... il y a donc un script de détection de la langue qui redirige vers
index_en.php
ou index_fr.php
ou index_nl.php.

Tout le texte de mon site se trouve dans un fichier externe en 3 langues :
m_lang_en_inc.php,
m_lang_fr_inc.php,
m_lang_nl_inc.php.

(fichier inclus directement dans l'une des 3 version "index").
Par exemple : m_lang_en_inc.php est inclus directement dans index_en.php

Jusque là tout fonctionne.

Maintenant mon problème :

Un menu "drapeau" est inclus dans chaque page (lui aussi en fichier externe).
Quand on clique sur l'un des drapeau, on retourne sur la page "home" de mon site dans la version correspondant au drapeau (fr, nl, ou en)

Dans cette dernière page ("home" en français par exemple) mon code commence (première ligne de script) par :

<?php
setcookie('ch_langue', '', time() - 3600); //destruction de l'ancien cookie (s'il y en a eut un)
$langue = 'fr'; //attribution de la valeur "fr" à la variable "langue"
setcookie('ch_langue', $langue, 3600); // création d'un cookie "ch_langue"
?>

C'est donc la variable "langue" avec la valeur "fr" que je veux envoyer à la page suivante.

Quand on clique sur un lien se trouvant sur la page "home".
Ce lien envoie sur la page suivante qui doit récupérer cette variable.

Le code sur la page suivante qui est chargé de récupérer la variable :

<?php
if ( isset($_COOKIE['ch_langue'])) {
$langue = $_COOKIE['ch_langue'];
}
else {
$langue = 'en';
}
?>

Donc mon code récupère la variable "ch_langue" avec comme valeur "fr" et sinon il utilise la valeur "en".

Et le problème c'est qu'il utilise TOUJOURS la valeur "en" car il ne reçoit pas la valeur "fr".

J'espère avoir été assé clair.

Encore merci à ceux qui pourront me donner un coup de pouce.
lundi 14 novembre 2011 à 10:55:28 | Re : Importation d'une variable par cookie

JulSoft

Membre Club
Deux questions:
- Ta variable $langue, elle vaut quoi quand tu appelle setcookie()? tu as essayé de faire un echo dessus, histoire d'être certain que c'est pas à ce moment là que ta langue est fausse?

- Quand tu récupère ton cookie, que contient $_COOKIE? Tu peux essayer de faire un print_r dessus?
lundi 14 novembre 2011 à 12:05:34 | Re : Importation d'une variable par cookie

jrmy7

ce que je pense ces que ma variable de vos rien lorsque j'appelle setcookei().
Et qu'elle prend la valeur "en" par la suite :

else {
$langue = 'en';
}

Car en utilisant print_r en m'affiche "en".

???
lundi 14 novembre 2011 à 12:35:24 | Re : Importation d'une variable par cookie

TychoBrahe

Salut,

Code PHP :
<?php
setcookie('ch_langue', '', time() - 3600); //destruction de l'ancien cookie (s'il y en a eut un)
$langue = 'fr'; //attribution de la valeur "fr" à la variable "langue"
setcookie('ch_langue', $langue, 3600); // création d'un cookie "ch_langue"
?>

Deux remarques :
- Je ne pense pas qu'il soit judicieux de détruire le cookie si c'est pour le reconstruire dans la même page.
- Le second setcookie a un timespamp ridiculement petit dépassé depuis des années et ton cookie ne peux donc pas fonctionner. Rajoute donc time().

Et juste une dernière remarque d'ordre générale : dupliquer tes fichiers en fonction de la langue est une idée extrêmement mauvaise. Si tu as 42 langues tu devra avoir 42 copies de ton site, et donc 42 fois la même modification a faire lorsque tu veux changer quelque chose. Créé donc des fichiers de langue qui seront utilisés en fonction des cas, ainsi tu sépare le contenu (textes dans différentes langues) du "moteur".


Cette discussion est classée dans : page, variable, php, index, fr


Répondre à ce message

Sujets en rapport avec ce message

robleme de variable PHP 1.7 [ par rich25200 ] bonjour,j'utilise easyPHP 1.7 et j'ai un proble de variable..J'ai ma page index.php et lorsque je clique sur un lien j'envoie la meme page avec des va Cherche Script PHP [ par ykc ] Bonjour,Je cherche 1 script php qui me permettrait par methode d'"include()" de n'avoir que la page index.php et les autres s'afficheraien dedans avec variable php dans une page text.js [ par sana56 ] bonjourvoila, j'ai une couleur qui est stocké dans une base de donnée mysqlet dans une page apellé test.js j'ai :this.bodyStyle = 'background-color: # variable [ par chrys76 ] CHRYSj'ai une variable dans une page.php $nb1=rand( 0, 1000 );et je voudrais la faire passer dans une autre page.php et dans une autre variable comme Include php [ par FearBlue ] Salut a tous !!!!J'ai un probleme avec la fonction includema page index.phpcontient un code genre ca:include($page);lorsque je fais ca :index.php?page variable php [ par Polux6 ] Bonjour! Je suis nouveau dans le monde du php et j'aimerais savoir si c'est possible d'envoyer grace à un formulaire un tableau dynamique.En fait j'ai variable et url ???? [ par fab_59 ] bonjour, j'aimerais savoir comment on configure la page php, si la variable est dans l'url, du type http://var.site.fr/comment peut on faire pour recu Site en une page [ par Gamer13 ] slt,pour faire mon site en une page g utilisé ce script php//Recupere ta variable depuis l'url $module = $_GET['module']; //Si le module existe if(is_ HELP***Header ????!!!!??????*** [ par kodiask ] alor g mon index et dedan kan je clik g include("membres.php") dans ma page membre g :session_start()if (session_is_registered('login)'){header("loca transferer une variable d'objet de page en page ?? [ par Arkko ] slt ... j'aimerais savoir si y'a un moyen de transferer une variable d'objet d'une page a un autre ???exemple:1.php:MaClasse = new Maclasse;?>2.php2.p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales