Détecter la langue du navigateur

New en PHP -  
 kabushi -
Bonjour,
J'ai créé un petit code pour détecter la langue du navigateur et par la suite afficher la page selon la langue détectée.

<?
setcookie("lang","fr");
function left($str,$nbr) {
return substr($str,0,$nbr);
}
setcookie("lang",left($_SERVER['HTTP_ACCEPT_LANGUAGE'],2));
if($_COOKIE["lang"]=="fr") {
echo 'Bienvenue';
}
else
{
echo 'Welcome';
}
?>
Au rechargement de ma page il me donne une erreur, mais quand j'actualise l'erreur disparait.
voilà l'erreur
Notice: Undefined index: lang in c:\program files\easyphp1-8\www\boutique\test.php on line 7
J'aimerai aussi tester le query si il contient le "fr" ou bien "en"
if($_GET["lg"]=="fr") { setcookie("lang")=="fr";}
if($_GET["lg"]=="en") { setcookie("lang")=="en";}
Je suis débutant en php si vous pouvez m'aider n'hésites surtout pas.
Merci d'avance
Configuration: Windows XP
Firefox 3.0.10

3 réponses

  1. kabushi
     
    Tu obtiens cette erreur parce que à la ligne
    if($_COOKIE["lang"]=="fr") {

    au premier affichage le cookie (et donc la variable) n'est pas encore défini.
    Tu peux remplacer par ceci :

    if(isset($_COOKIE["lang"]) && $_COOKIE["lang"]=="fr") {
    2
  2. disney
     
    faite comme suit:

    <script type="text/javascript">
    <!--
    function Try(lang) {
    if (lan=="frr") {
    alert("bienvenue");
    location.href = "fr.html";
    }
    else {
    alert("welcome.");
    location.href = "https://www.disney.com/";
    }
    }
    //-->
    </script>
    amuse toi bien!!
    0
    1. disney
       
      j'ai oublié,

      <script type="text/javascript">
      <!--
      function Try(lang) {
      if (lan=="frr") {
      alert("bienvenue");
      location.href = "https://disney.fr";
      }
      else {
      alert("welcome.");
      location.href = "https://www.disney.com/";
      }
      }
      //-->
      </script>
      amuse toi bien!!
      0
  3. New en PHP
     
    Merci disney, mais c'est pas ce que je veux, je veux un code en PHP et pas en javascript.
    0