Je tourne en rond... j'ai bien trouvé des post sur le forum qui traitaient de ce sujet ... mais comme je suis une débutante en php j'arrive pas à les mettre en place ...
je dois faire un site français/anglais en php.
Pour ça, j'ai utilisé les sessions. Entre autre... le code décrit à cette adresse: http://forum.hardware.fr/hardwarefr/Pro ... 5783-1.htm
Ca fonctionne très bien
Maintenant dans mon site j'utilise les pseudo-frames. Dont le script de php débutant http://www.phpdebutant.org/article68.php
Mon soucis est maintenant que j'aimerais que depuis n'importe quelle page, je puisse passer sur l'autre langue et avoir donc, la page correspondante à l'autre langue.
un petit test:
http://www.jeunessearconciel.ch/test/
Quand je suis sur la page 2 et que je clique sur une autre langue, il me redirige vrs la page 1 de cet autre langue au lieu de rester sur la page 2
Vous pouvez m'aider ?
Je vous met un peu les codes de mes pages
index.php
Code : Tout sélectionner
<?
session_name("languestruc" );
session_start();
include("lang/lang.php" );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<p>
<?=$ACC_WELCOME?>
</p>
<p>
<?=$ACC_LANGUE?>
<ul>
<li><a href="?lang=fr"><?=$ACC_LANGUE_FR?></a></li>
<li><a href="?lang=en"><?=$ACC_LANGUE_EN?></a></li>
</ul>
</p><?php
include('include/menu.php'); //ADRESSE
?>
<?php
// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$contenuOK = array(
'page1' => '1.php',
'page2' => '2.php',
);
// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['contenu'])) && (isset($contenuOK[$_GET['contenu']])) ) {
include($contenuOK[$_GET['contenu']]); // Nous appelons le contenu central de la page
}
else
{
// page par défaut
include('1.php');
}
?>
</body>
</html> Code : Tout sélectionner
<?
$default_language = "en";
$langue="";
if (isset($_GET["lang"])) {
/*Test en GET pour savoir si un user a choisi une langue*/
$langue = strtolower($_GET["lang"]);
$_SESSION["languesite"]=$langue;
}
else {
if (isset($_SESSION["languesite"])) {
/*Récupération de la langue par défaut*/
$langue=$_SESSION["languesite"];
}
else {
/*Récupération de la langue du navigateur, ceci est surtout valable lors d'une première visite sur le site*/
$langue=strtolower(substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0,2));
$_SESSION["languesite"]=$langue;
}
}
/*Inclusion du fichier de langue*/
$filepath = getcwd()."/lang/".$langue.'.php';
if (file_exists($filepath)) { /*On vérifie si le fichier de langue existe bien*/
include($langue.".php" ); /*S'il existe on l'inclu*/
}
else { /*Si le fichier de langue n'existe pas dans ce cas on inclu le fichier de langue par défaut et on attribut la langue par défaut comme langue de session*/
$langue= strtolower($default_language);
include($langue.".php" );
$_SESSION["languesite"]=$langue;
}
?> menu.php
Ca doit être là que ça cloche... comment faire ?
Code : Tout sélectionner
<h3>Menu</h3>
<br />
<a href="index.php?contenu=page1" ><?=$MENU1?></a> <br />
<a href="index.php?contenu=page2"><?=$MENU2?></a> <br />