système de langue (problème avec les url !)

système de langue (problème avec les url !) - PHP - Programmation

Marsh Posté le 20-07-2004 à 11:16:58    

Bonjour,
 
j'ai un système sur mon site qui me permet de chosir la langue au moyen d'une variable (lang=fr par exemple)
 
sur mes pages j'ai toujours les trois liens français allemand anglais
 
le liens est dynamique  
echo $_SERVER['HTTP_REFERER']; echo'&lang=fr'
 
Mon problème est que si l'utilisateur clique plusieurs fois sur la langue ça me donnera : mapage.php?rubrique=news&lang=fr&lang=fr&lang=fr
 
Comment faire pour éviter cela ?

Reply

Marsh Posté le 20-07-2004 à 11:16:58   

Reply

Marsh Posté le 20-07-2004 à 11:18:38    

http://forum.hardware.fr/forum2.ph [...] &sondage=0


Message édité par jagstang le 20-07-2004 à 11:18:53

---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 20-07-2004 à 11:25:07    

oui j'ai bien suivi les conseils et j'ai fait un système de session, mais je n'arrive pas à créer correctement mes liens dynamiques...
 
Je ne sais pas si je devrai faire une condition qui vérifie si   lang=fr par exemple est deja présente dans l'url ou pas...

Reply

Marsh Posté le 20-07-2004 à 11:26:01    

Noisequik a écrit :

Bonjour,
 
j'ai un système sur mon site qui me permet de chosir la langue au moyen d'une variable (lang=fr par exemple)
 
sur mes pages j'ai toujours les trois liens français allemand anglais
 
le liens est dynamique  
echo $_SERVER['HTTP_REFERER']; echo'&lang=fr'
 
Mon problème est que si l'utilisateur clique plusieurs fois sur la langue ça me donnera : mapage.php?rubrique=news&lang=fr&lang=fr&lang=fr
 
Comment faire pour éviter cela ?


 
C'est parce que tu t'y prends mal.
il faut que tu contrôles l'affectation de ton paramètre lang. Si il est non vide, c'est OK, sinon, on lui met la langue par défaut.
 
Ensuite pour tes autres langues, il faut que tu recomposer l'url sans te soucier des clics de l'utilisateur.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 20-07-2004 à 11:33:06    

c'est justement pour recomposer l'url que j'arrive pas...
 
Admettons que le visiteur clique sur anglais, il aura donc : mapage.php?rubrique=news&lang=en
 
maintenant il veut la page allemande. il faudrait donc que le liens soit mapage.php?rubrique=news&lang=de. C'est cela que je n'arrive pas à créer car si je reprends l'url, il reprend aussi le &lang=en donc ca me donne mapage.php?rubrique=news&lang=en&lang=de

Reply

Marsh Posté le 20-07-2004 à 11:40:51    

Avant même que ton visiteur clique sur anglais, tu as déjà préparé l'url machin.php?lang=en qui correspond au lien du drapeau.
 
Ton problème est que tu concatènes au lieu de changer le paramètre.
 
les liens correspondants aux drapeaux sont de la forme
$PHP_SELF."?lang=en";
$PHP_SELF."?lang=fr";
$PHP_SELF."?lang=de";


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 20-07-2004 à 11:46:01    

AH c'est exactement ce qu'il me fallait. En fait je ne savais pas changer le paramètre, je savais seulement le rajouter !!
 
Donc c'est bien le point entre $php_self et mon paramètre qui me permet de le modifier ?

Reply

Marsh Posté le 20-07-2004 à 11:48:52    

Euh là revoie les bases de PHP.
 
Le "." est un opérateur de concaténation. Il faut seulement réfléchir à ce que tu as au départ et à que tu ajoute. Est ce le résultat espéré ?
 
je crois que tu n'as pas compris la base => phpdebutant.org


Message édité par T509 le 20-07-2004 à 11:49:29

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 20-07-2004 à 11:54:13    

heum ouais je vais trop vite je pense :-(
 
enfin bref ça ne marche pas car si je fais ça ca me supprime mes autres variables ?rubrique=...  etc...

Reply

Marsh Posté le 20-07-2004 à 12:00:39    

C'est un exemple que je t'ai donné, à toi de voir ce dont tu as besoin. Il faut analyser ton besoin.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 20-07-2004 à 12:00:39   

Reply

Marsh Posté le 20-07-2004 à 12:05:42    

ok, en fait il faudrait simplement qu'il me garde tous mes paramètres sauf lang
 
je pense que je vais faire des url semi automatique, genre
index.php?rubrique='.$_GET['rubrique'].'&lang=fr

Reply

Marsh Posté le 20-07-2004 à 12:07:16    

essaie et tu nous diras ...


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 20-07-2004 à 12:10:46    

oui si je fais comme ca ça marche bien :-)
 
mais je cherchais un moyen de créer un url dynamique qui me modifie une de mes variables tout en reprennant les autres sans les changer...
je vais essayer de trouver, merci quand même ;-)

Reply

Marsh Posté le 20-07-2004 à 12:15:57    

$_SERVER['QUERY_STRING'] et ensuite, c'est à toi de jouer avec cette chaine de caractères.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed