Problème transmission de variable

Scard Messages postés 134 Statut Membre -  
Scard Messages postés 134 Statut Membre -
Bonjour,

Je propose aux visiteurs de mon site de le traduire en anglais s'ils le souhaitent. Je transmet donc par url la variable langue que j'enregistre ensuite dans une variable $_SESSION. Donc, après avoir choisi l'anglais, normalement, toutes les pages seront en anglais sans que j'ai besoin de changer la langue à chaque fois. Lorsque je teste le processus sur localhost, ça fonctionne très bien mais lorsque je le met en ligne, la variable langue ne se transmet pas de page en page. Pour aller voir le problème : http://www.albi-gite.fr

Est-ce que quelqu'un à une idée ?

Merci d'avance
Scard

1 réponse

lezao Messages postés 505 Statut Membre 36
 
t'as bien mis le session_start(); tout en haut de la page, sur chaques pages ?

Ou si non mets nous le debut de ton code, que l'on puisse voir ce qui est en est.
0
Scard Messages postés 134 Statut Membre 7
 
Oui, je l'ai bien mis. Mais je l'ai mis dans un include que j'insère au début de chaque page.
Voici le code :
<?php
session_start();
if (isset ($_GET['lang']))
{
$_SESSION['lang'] = $_GET['lang'];
}
?>
0
lezao Messages postés 505 Statut Membre 36
 
ça me parait correct, pourquoi ne ferais tu pas un test du genre, sur toutes les pages tu mets un:

echo $_SESSION["lang"] ;

pour voir si sa passe bien ?
0
lezao Messages postés 505 Statut Membre 36
 
je crois que j'ai compris, parce que si tu mets ce code sur toutes les pages, il va remettre la variable session a 0 si $_get est vide.

il faudrais faire:

if($_GET['lang'] != ""){$_SESSION["lang"] = $_GET['lang'] ; }

pour ne pas remplir la variable session par du vide.

Ne serais-ce pas le probleme ?
0
Scard Messages postés 134 Statut Membre 7
 
Oui mais pourquoi ça marche sur localhost alors ? Parce que, en faisant :
echo $_SESSION["lang"] ; 
la variable est affichée sur chaque page si je suis sur localhost, ce qui n'est pas le cas lorsque je le passe en ligne.

Je viens d'essayer ce code mais ça ne change rien. Je comprends pas pourquoi ça marche seulement sur localhost
0
lezao Messages postés 505 Statut Membre 36
 
ça doit etre une question de configuration du serveur, la config est diferente.

Tu peux faire un fichier aavec cette ligne dedans pour voir ta config et les variables globales :

<? phpinfo() ; ?>


As tu éssayés ce que j'ai mis plus haut ? pour ne pas reinitialiser la variable de session ?

tiens j'ai lu un article sur les variables de sessions ils disent qu'il est possible que les sessions ne soient pas autorisees:

https://cyberzoide.developpez.com/php4/faqsession/#life
0