Problème de redirection selon la langue

Fermé
Stef - 16 sept. 2011 à 11:16
Vestarija Messages postés 1 Date d'inscription vendredi 16 septembre 2011 Statut Membre Dernière intervention 16 septembre 2011 - 16 sept. 2011 à 11:46
Bonjour à tous,

Je fais mon premier site internet et autant dire qu'il me reste encore bcp à apprendre.
Je souhaite JUSTE rediriger le visiteur selon la langue de son navigateur et ici en loccurence russe. Ci-dessous le code que j'ai tapé tout en haut de ma page index.php:

<?php
if (!isset($langue_user) && !isset($_SESSION["ch_langue"])){
$langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2);
switch($langue_user){
case"fr":
$_SESSION["ch_langue"] = "fr";
break;

case "ru":
$_SESSION["ch_langue"] = "ru";
header ("Location: /ru/index2.php");
break;
}
}
?>

Théoriquement cela devrait fonctionner. Sur un navigateur en FR no problème en revanche avec firefox en russe ça passe pas! je tombe sur la page fr et tout en haut de mon site voici le code d'erreur:

Warning: Cannot modify header information - header already sent by (output started at /home/miste653/public_html/index.php:1) in /home/miste653/public_html/index.php on line 11

Voilà je suis noob (d'ailleurs c'est pas la première fois que je viens sur ce super site)

Mercii ààà vouss!!


Stef



A voir également:

2 réponses

Utilisateur anonyme
16 sept. 2011 à 11:23
Bonjour,

Le message d'erreur indique que vous avez déjà envoyé les headers puis du contenu de page avant l'instruction header.

Le protocole HTTP envoie toujours la partie HEAD avant la partie body.

En PHP, la partie HEAD est envoyée par l'instruction header

La partie BODY par un echo, ou un print, ou du code HTML avant le code PHP.

Si vous avez une instruction header dans le code, il ne faut pas, avant l'exécution de cette instruction, avoir envoyé du contenu HTML, genre un echo, print, voire juste un retour chariot avant <?php

Votre pb doit venir de là.

Et puis mettez un exit; juste après un header('location...
Ca évite de mauvaise surprises.
0
Vestarija Messages postés 1 Date d'inscription vendredi 16 septembre 2011 Statut Membre Dernière intervention 16 septembre 2011
16 sept. 2011 à 11:46
Merci néo, je viens de vous répondre par MP.
0