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 ?

4 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Regardes du côté des sessions.
    0
  2. 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
    1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      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
  3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  4. 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