Site multi-pays

Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -  
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous !

J'ai un soucis lorsque je sélectionne le pays de mon site.
Il prends en compte la page où je modifie le pays uniquement et non pas le reste du site.
Voici mes codes :

pays.php
<?php
header("Cache-Control: no-cache");
$default_pays 	= 'ci';
$dir_pays     	= $_SERVER['DOCUMENT_ROOT'] . '/version_3/pays/';
$extension    	= '.php';
$LePays			= array(
    'ci',
    'sn',
    'tg',
    'cd'
);
$pays         = '';

		if (isset($_GET['pays']) 	AND in_array($_GET['pays']		, $LePays)) {$pays = $_GET['pays'];}
else 	if (isset($_COOKIE['pays']) AND in_array($_COOKIE['pays']	, $LePays)) {$pays = $_COOKIE['pays'];}
		if (!empty($pays)) {setcookie('pays', $pays);}
		
include($dir_pays . $default_pays . $extension);
if (!empty($pays) && is_file($dir_pays.$pays.$extension)) {include($dir_pays.$pays.$extension);}
?>


pays/ci.php (et autres) :
$tb_casting			= "tb_ci_casting";
$tb_categories_accueil		= "tb_ci_categories_accueil";
$tb_conseils			= "tb_ci_conseils";
$tb_galerie				= "tb_ci_galerie";


header.php :
<?php require($_SERVER['DOCUMENT_ROOT'].'/version_3/langue.php'); ?>
<?php require($_SERVER['DOCUMENT_ROOT'].'/version_3/pays.php'); ?>


footer.php
<a href="?pays=ci">Côte d'Ivoire</a>
<a href="?pays=sn">Sénégal</a>
<a href="?pays=tg">Togo</a>
<a href="?pays=cd">RDC</a>


J'ai essayé de supprimer :
header("Cache-Control: no-cache");
mais pareil soucis... avez vous idée svp ?
A voir également:

4 réponses

NHenry Messages postés 15479 Statut Modérateur 366
 
Regardes du côté des sessions.
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Bonjour !
Est-ce normal qu'a chaque page que je visite, celle-ci me crée un cookies ?
L'image ci dessous montre que j'ai ouvert 4 pages (pays lang) :
http://img11.hostingpics.net/pics/171448cookies.png

stp NHenry, est-ce que mon tableau de cookies est bon (à l'exception des pays/lang) ?

Merci
0
NHenry Messages postés 15479 Statut Modérateur 366
 
Si tu utilises une session, un seul cookie est envoyé au client (l'identifiant de session), donc, en passant par une session, tu aurais moins de soucis.

Sinon, il faut voir le code que tu utilises pour gérer tes cookies de langue.
0
jordane45 Messages postés 40050 Statut Modérateur 4 757
 
Bonsoir,
Perso...je ferais comme ça :
<?php
header("Cache-Control: no-cache");
$default_pays 	= 'ci';
$dir_pays     	= $_SERVER['DOCUMENT_ROOT'] . '/version_3/pays/';
$extension    	= '.php';
$LePays		= array('ci', 'sn', 'tg', 'cd');

if (isset($_GET['pays']) && in_array($_GET['pays'], $LePays)) {
  $pays = $_GET['pays'];
  setcookie('pays', $pays,time()+86400) //expire dans 24H)
}elseif(isset($_COOKIE['pays']) && in_array($_COOKIE['pays'], $LePays)){
  $pays = $_COOKIE['pays'];
}else{
  // echo "aucun PAYS en GET ni en COOKIE"; 
 $pays=NULL;
}

$defaultfile = $dir_pays . $default_pays . $extension;
$filePays = $dir_pays.$pays.$extension;
if ($pays && is_file($filePays)){
  include(filePays);
}elseif(file_exists($defaultfile )){
  include($defaultfile );
}

?>


0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Bonjour Jordane,

Merci de ton aide. Cependant je rencontre une erreur, au choix du pays (à l'index) il ne se passe rien et si je change de page, celle-ci est vide.
0