Redirection

4 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour :huh:

Tout d'abord, je possède peel Shopping 5.7 et actuellement tout se passe bien.

Je l'ai mis sur mon pc (donc, localhost) et je rebute sur la redirection de la langue en fonction de la langue du navigateur.

J'arrive bien à detecter la langue du navigateur grâce à cette commande:

$Langue = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$Langue = strtolower(substr(chop($Langue[0]),0,2));[/codebox]

Ensuite, j'effectue un switch de la sorte :

[codebox]switch ($Langue){
case "fr": $_SESSION['langue']="fr";
echo 'Français';
break;
case "en": $_SESSION['langue']="en";
echo 'Anglais';
break;

}

afin de voir si c'est bon.

Là, ou ca coince, c'est quand je souhaite faire un header ("Location: /endroit souhaite.php");

Dans, ce cas, j'ai droit à une jolie boucle de redirection :angry:

Le site étant par défaut en Français, j'aurais aimé aussi qu'il soit en Anglais si la langue du navigateur est en anglais.

Une idée ? :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour MLG01,

Bienvenue tout d'abord parmi la communauté PEEL, et content que votre PEEL SHOPPING vous convienne.

Pour localiser précisément la boucle infinie, travaillez sur configuration.inc.php (puisqu'elle vient a priori de ce fichier).

Mettez un die('here') vers le milieu du fichier, à l'extérieur de toute boucle for, if, while....

Et ensuite appelez une page qui fait une boucle infinie (par exemple index.php) depuis votre navigateur.

Si elle affiche 'here', alors la cause de la boucle infinie se trouve après votre die('here');

Si au contraire vous retombez sur votre erreur de boucle infinie, alors le souci est avant votre die('here');.

Recommencez ensuite la procédure dans la moitié de fichier concernée, et ainsi de suite...

En s'y mettant efficacement, ce genre de méthode vous permettre de localiser les lignes qui posent problème en quelques minutes.

Cordialement,

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci pour cette information.

Je m'en vais tester cela :angry:

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour

je crois que Jean Hervé vous donne une mauvaise réponse.

il est logique qu'il y'ait une boucle infinie car le code que vous donnez est certainement présent dans configuration.inc.php ou dans haut.php, bref dans un fichier inclus dans toutes les pages. le code est donc executé à chaque fois y compris certainement sur la page cible de redirection. Pour votre systeme, vous pouvez utiliser une session ou un cookie pour n'executer le code qu'une seule fois.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping