système de langue (problème avec les url !) - PHP - Programmation
Marsh Posté le 20-07-2004 à 11:18:38
http://forum.hardware.fr/forum2.ph [...] &sondage=0
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...
Marsh Posté le 20-07-2004 à 11:26:01
Noisequik a écrit : Bonjour, |
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.
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
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";
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 ?
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
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...
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.
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
Marsh Posté le 20-07-2004 à 12:07:16
essaie et tu nous diras ...
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 ;-)
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.
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 ?