dalma101
Messages postés51Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention13 août 2008
-
30 juin 2006 à 18:54
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008
-
1 juil. 2006 à 18:20
Salut, j'ai des soucis avec la mise à jour de mon site. Je tiens en effet à le passer en multilingue (français, anglais pour commencer) mais j'ai un petit souci.
Pour commencer, voilà une petite description de mon site. Mes pages comportent 4 includes ("entete", "menu", "corps" et "basdepage") et lors de la navigation, seul l'include "corps" change d'une page à l'autre. Dans l'include "entete", j'ai deux drapeaux permettant de choisir la langue que vous voulez. La traduction des pages se passent très bien sur le fonds. C'est sur la forme que ça marche pas. En effet si on change la langue sur une autre page que la page d'accueil, la regénération des pages me redirige forcément vers la page d'accueil (href= "index.php" ou lieu de href="index.php?page='pagecourante'&...") . C'est pas un souci dans le sens où on choisit souvent la langue en entrant dans le site mais si c'était possible de corriger cela.
Je tiens à préciser (vu que c'est une histoire de lien que pour passer d'une page à l'autre que j'utilise des liens du style : href="index.php?page='acceuil'&...'"
Je fournis une partie du code pour être (peut-être ?) plus clair...
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 30 juin 2006 à 19:56
Mais sinon effectivement le pb vient du header, tu devrais essayer de le faire pointer vers la page précédente, pas l'index ($HTTP_REFERER) mais bon c'est moins joli comme solution
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 1 juil. 2006 à 18:20
Tu inclus des fichiers qui passe dans l'url :
Par exemple si l'adresse est : "http://tonsite.fr/index.php?page= forum" va afficher ton fichier " forum.php ".
Mais le problème c'est que tu ne vérifies pas si le fichier vient de ton site (ou même si le visiteur à acces à ce fichier)
Par exemple :
-> "http://tonsite.fr/index.php?page =http://autresite.fr/index" va afficher le fichier "index.php" du site "http://autre.fr"
Pour corriger cette faille au lieu de :
"if (isset($_GET['page'])) include($_GET['page'].'php');"
utilise plutot ceci :
"if (isset($_GET['page'])) switch($_GET['page']) {
/* Si la variable $_GET['page'] est égale à "page1" avec on inclus "page1.php" et ainsi de suite */
case 'page1': require_once('page1.php'); break;
case 'page2': require_once('page2.php'); break;
/* Si la variable n'est pas égale à ce que tu veux inclure, tu inclus un page d'erreur (ou une page pour bannir le visiteur) */
default: require_once('erreur.php'); break;
}"
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 30 juin 2006 à 19:51
Salut,
au lieu de faire un lien vers une autre page pour changer de langue, tu devrais faire une XMLHttpRequest qui modifie la variable de session/cookie et qui ensuite recharge la page.
à+
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 30 juin 2006 à 21:54
Salut!
Dans le lien de changement de langue, tu transmet la page en cours et ses paramètres ( index.php?var=valeur&variable2=valeur2, tu récupères var=valeur&variable2=valeur2 avec $_SERVER['QUERY_STRING'] ) et ensuite tu rediriges selon ce qui a été passé...
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Vous n’avez pas trouvé la réponse que vous recherchez ?
dalma101
Messages postés51Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention13 août 2008 1 juil. 2006 à 13:59
Excusez-moi, mais il n'y aurait pas moyen d'être un petit peu plus clair quand au réponse ? Je m'embrouille un peu à vrai dire... Et je ne suis que novice pour le moment en php.