J'ai parcouru le net à la recherche d'une solution, sans succès. Peut-être ai-je mal chercher... Mais bon.
J'ai un petit problème avec mon code. Je souhaite réaliser un site multilingue qui, quand on choisi la langue sur la page d'accueil, la stocke dans un cookie de façon à pouvoir récupérer le texte approprié dans la base de données.
En arrivant sur la page, on regarde si la langue est passée en paramètre (auquel cas, on la stocke dans le cookie) ou si le cookie existe. Si aucun des deux cas n'est vérifié, on redirige l'internaute vers la page d'accueil.
Le bout de code suivant est présent au début de toutes mes pages, sauf index.php.
Code : Tout sélectionner
<?php
$duree=365*24*60*60;
$langue='';
if(!isset($_GET['language']) && !isset($_COOKIE['langue'])){
header("location : index.php");
}
elseif(isset($_GET['language']) && !isset($_COOKIE['langue'])){
$langue=$_GET['language'];
setcookie('langue',$langue,time()+$duree);
}
else{
$langue=$_COOKIE['langue'];
}
require_once('fonctions/connexionbdd.inc.php');
//reste du code
?>
<!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" xml:lang="<?php echo $langue; ?>">
</html>...Je sais que ce genre d'erreur survient lorsque du HTML précède un header(). Pourtant, il n'y a aucun code HTML avant, aucun echo, rien... Je ne comprends pas.Warning: Cannot modify header information - headers already sent by (output started at /home/bfta/public_html/BFTArefonte/home.php:1) in /home/bfta/public_html/BFTArefonte/home.php on line 13
Pouvez-vous m'aider, s'il vous plaît?
Merci d'avance.