Problème avec url site bilingue
m.cort
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
pyschopathe Messages postés 1974 Date d'inscription Statut Membre Dernière intervention -
pyschopathe Messages postés 1974 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis entrain de faire un site français, allemand en php. La structure de mon site et comme cela: page index.php avec un include "header", un include "menu", un include "footer" et une pseudo frame pour afficher mes différentes pages.
j'utilise la programmation ci-dessous pour selectionner la langue:
<?php
// Choix de la langues fr ou de
$langue="fr"; /* valeur par défaut */
if (isset($_GET["langue"]) && !empty($_GET["langue"]) && $_GET['langue'] == "de" ){
$langue = "de";
}
if ( $langue == "de" )
include "de/accueil_de.php";
else if ($langue == "fr" )
include "fr/accueil_fr.php";
?>
J'ai créé des fichiers .php dans des dossiers séparés (fr et de) pour aller chercher mes textes en français ou en allemand.
Le problème que j'ai c'est que quand je veux changer de langue, j'ai un lien qui me ramène toujours à ma page index.php (index.php?langue=fr ou index.php?langue=de).
Est-ce que quelqu'un pourrait m'aider et m'expliquer comment faire pour rester sur la même page mais en changeant de langue. Par exemple si je suis la page index.php?page=gs&langue=fr et que je clique sur le drapeau Allemand, il faudrait que j'arrive sur la page index.php?page=gs&langue=de.
Si je tape dans la barre du navigateur les adresses des pages manuellement, ça fonctionne très bien mais c'est juste pour automatiser tout ça où j'ai un problème.
Merci pour vos réponses
Je suis entrain de faire un site français, allemand en php. La structure de mon site et comme cela: page index.php avec un include "header", un include "menu", un include "footer" et une pseudo frame pour afficher mes différentes pages.
j'utilise la programmation ci-dessous pour selectionner la langue:
<?php
// Choix de la langues fr ou de
$langue="fr"; /* valeur par défaut */
if (isset($_GET["langue"]) && !empty($_GET["langue"]) && $_GET['langue'] == "de" ){
$langue = "de";
}
if ( $langue == "de" )
include "de/accueil_de.php";
else if ($langue == "fr" )
include "fr/accueil_fr.php";
?>
J'ai créé des fichiers .php dans des dossiers séparés (fr et de) pour aller chercher mes textes en français ou en allemand.
Le problème que j'ai c'est que quand je veux changer de langue, j'ai un lien qui me ramène toujours à ma page index.php (index.php?langue=fr ou index.php?langue=de).
Est-ce que quelqu'un pourrait m'aider et m'expliquer comment faire pour rester sur la même page mais en changeant de langue. Par exemple si je suis la page index.php?page=gs&langue=fr et que je clique sur le drapeau Allemand, il faudrait que j'arrive sur la page index.php?page=gs&langue=de.
Si je tape dans la barre du navigateur les adresses des pages manuellement, ça fonctionne très bien mais c'est juste pour automatiser tout ça où j'ai un problème.
Merci pour vos réponses
A voir également:
- Problème avec url site bilingue
- Url - Guide
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site x - Guide
2 réponses
Déjà ton code seraot un petit peu mieux comme ça :
<?php // Choix de la langues fr ou de $langue="fr"; /* valeur par défaut */ if ( isset($_GET["langue"]) && $_GET['langue'] == "de" ){ $langue = "de"; } include ( "$langue/accueil_$langue.php" ); ?>Pour ton problème, il suffit que tu génères un lien qui corresponde à la page actuelle. Je m'explique : sur chaque page, à la place de ton code
<a href="accueil.php?langue=de"><img src="drapeau_allemagne.png" /></a>tu mets plutôt
<a href="<?php$_SERVER['REQUEST_URI']?>?langue=de"><img src="drapeau_allemagne.png" />
Hello, merci pyschopathe d'avoir été aussi rapide!!!
J'utilise la programmation ci-dessous pour mes pseudo frame. le problème avec $_SERVER['REQUEST_URI'], c'est que j'ai toujours ma page index.php?langue=de comme url. Je devrai avoir l'url index.php?page=exemple&langue=de pour que je reste sur la même page mais en français si je clique pour changer de langue.
<?php
define("PATH", "./pages/");
// Tableau contenant les pages autorisées
$tableau = glob(PATH . "*.inc.php");
if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau)) {
$pageInclude = PATH . $_GET["page"] . ".inc.php";
}
else {
$pageInclude = PATH . "accueil.inc.php";
}
include $pageInclude;
?>
Est-ce que tu vois ce que je veux dire et as-tu une idée comment faire apparaitre les différentes pages dans l'url?
J'utilise la programmation ci-dessous pour mes pseudo frame. le problème avec $_SERVER['REQUEST_URI'], c'est que j'ai toujours ma page index.php?langue=de comme url. Je devrai avoir l'url index.php?page=exemple&langue=de pour que je reste sur la même page mais en français si je clique pour changer de langue.
<?php
define("PATH", "./pages/");
// Tableau contenant les pages autorisées
$tableau = glob(PATH . "*.inc.php");
if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau)) {
$pageInclude = PATH . $_GET["page"] . ".inc.php";
}
else {
$pageInclude = PATH . "accueil.inc.php";
}
include $pageInclude;
?>
Est-ce que tu vois ce que je veux dire et as-tu une idée comment faire apparaitre les différentes pages dans l'url?
Voui, je comprends, je rectifie :
<a href="<?php$_SERVER['REQUEST_URI'].'?'.$_SERVER['QUERY_STRING']?>?langue=de"><img src="drapeau_allemagne.png" />Ca devrait le faire ! Au pire, fais un affichage du contenu de $_SERVER et récupère ce qui t'intéresse :
echo '<pre>'; print_r( $_SERVER ); echo '</pre>';