begin process at 2010 03 21 21:28:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Problème de redirection avec site multilingue


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

Problème de redirection avec site multilingue

vendredi 30 juin 2006 à 18:54:32 | Problème de redirection avec site multilingue

dalma101

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...

index.php

    <body>
    <?php
    include("langues\select_langue.php");
    ?>
    <div id="main">
    <div id="entete">
    <?php
    include('entete.php');
    ?>
    </div>
    ...
    <div id="menu">
    <?php
    include('menu.php');
    ?>
    </div>
    <div id="corps">
    <?php
    if (isset ($_GET['page']))
    {
    include($_GET['page'] . '.php')
    }
    else
    {
    include('accueil.php');
    }
    ?>
    </div>
    ...
    <div id="basdepage">
    </div>
    </div>
    </body>

entete.php

<div id="connectes">
    ...
    </div>
    <div id="caption">
    <a href="langues\choix_langue.php?langue=fr"><img src="images\fr.gif" alt="" class="img1"></a>
    <?php
    echo $ENTETETITRE;
    ?>
    <a href="langues\choix_langue.php?langue=en"><img src="images\en.gif" alt="" class="img2"></a>
    </div>
    <div id="link">
    <?php
    echo '<div class="links"><a href="index.php?page=accueil">' . $ENTETEACCUEIL . '</a></div>';
    ...
    ?>
    </div>

langues\choix_langue.php (Je pense que l'erreur vient de là quelque part)

    <?php
    if(!$_GET["langue"])
    {
    echo "Erreur, aucune langue n'a été choisie...";
    }
    else
    {
    SetCookie("languesite",$_GET["langue"]);
    Header( "Location: index.php" ); //C'est pas ici que ça plante ?
    }
    ?>

langues\select_langue.php

    <?php
    if (!$HTTP_COOKIE_VARS["languesite"])
    {
    include("langue_fr.php");
    }
    else
    {
    $lang = $HTTP_COOKIE_VARS["languesite"];
    include("langue_" . $lang . ".php");
    }
    ?>

langues\langue_fr.php

    <?php
    $MENUTITRE='Mes créations :.';
    $MENUDIAPORAMA='.: Diaporama';
    ...
    ?>
vendredi 30 juin 2006 à 19:51:18 | Re : Problème de redirection avec site multilingue

Evangun

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.
à+
vendredi 30 juin 2006 à 19:56:17 | Re : Problème de redirection avec site multilingue

Evangun

Réponse acceptée !
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
vendredi 30 juin 2006 à 21:54:18 | Re : Problème de redirection avec site multilingue

coockiesch

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???"
samedi 1 juillet 2006 à 10:58:21 | Re : Problème de redirection avec site multilingue

audayls

Salut,
"if (isset ($_GET['page'])) include($_GET['page'] . '.php')" fait attention à la faille "include" ...
samedi 1 juillet 2006 à 13:59:15 | Re : Problème de redirection avec site multilingue

dalma101

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.

Merci d'avance

samedi 1 juillet 2006 à 18:20:39 | Re : Problème de redirection avec site multilingue

audayls

Réponse acceptée !
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;
}
"


Cette discussion est classée dans : page, site, php, include, langue


Répondre à ce message

Sujets en rapport avec ce message

Problème Tableau [ par VivoBaggio ] Salut tout le monde. Voilà, je sais que cette question ne devrait pas se trouver dans cette partie du forum, mais je n'ai pas su la mettre autre part. incorporé une page. (include) [ par damien174 ] bonjour, j'ai un soucis je veux faire mon site et dans mon site il y aura un menu pour aller sur divers page et forum, je problème c'est actuellement Fonction include dans les Freenews ! [ par linkid ] Salut tout le monde !Voilà, j'ai installé les Freenews (php/MySQL) sur mon site et j'ai tout bien mis ! Mais j'ai quand même un problème !En effet, su include ou iframe [ par BIBICHOCOLAT ] bonjour,je souhaite placer une page php dans une autre page php, mais je n y arrive pas avec include la page que je veux integrer supprime l autre pag Include : PHP [ par Dw1kY ] Salut, je suis un débutant en php et j'ai un début de soucisVoila en faite j'ai crée une page titre, menu_gauche, page_principal, menu_droit et menu_b Récuperer le code html d'une page php d'un site ? [ par kEr0 ] Bonjour, J'aimerais savoir si c'est possible de récupérer le code html d'un fichier sur site web. Par exemple, le fichier index.php utilise des tem Refresh et include [ par Leneuf8000 ] Rebonjour... Voila j'ai 2 pages ! Dans une page j'ai du code PHP qui créé des graphes avec JPGRAPH et des données tirées d'une bdd, dans l'autre page une include [ par Devil60 ] Salut tlmVoila en faite j'ai créer un design, et au centre j'ai mis une include vers une pages news.php et dans cette page news.php j'ai mi un lien ki Empecher l'execution de php avec un include [ par MadM@tt ] Bonjour à tous, voilà la question va peut etre vous paraitre stupide, mais lorsqu'on fait un include en php, est ce que le code php de la page inclus Récupération de variables [ par Leneuf8000 ] Bonjour, voilà j'ai un petit script en Javascript qui me permet de compter le nombre de visiteurs sur un site. Ce script est intégré par l'intermédiai


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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,281 sec (3)

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