0

我正在开发一个已经开发的 php 项目。现在我的工作是更改一些 css 文件。所以要做到这一点,我只是从服务器下载了所有文件以及数据库。完成所有设置后,我在浏览页面时遇到错误

Notice: Undefined index: lang_selected in language.php on line 38

并且正在做这些事情的代码是

if((!isset($_GET['q'])) && ($_SESSION['lang_selected'] == "") && ($ln == 1))
  {

    $language = $setshow['es_lang'];

   if($language=="France")
    $lan="french";

    else if($language=="Croatian")
    $lan="croatian";

    else if($language=="Dutch")
    $lan="dutch";

    else if($language=="German")
    $lan="german";

    else if($language=="Greek")
    $lan="greek";

    else if($language=="Italian")
    $lan="italian";

    else if($language=="Indonesian")
    $lan="indonesian";

    else if($language=="Russia")
    $lan="russian";

    else if($language=="Spain")
    $lan="spanish";

    else if($language=="Usa")
    $lan="english_v1";

    else if($language=="China")
    $lan="chinese";

    else if($language=="Japanese")
    $lan="japanese";

    else if($language=="Korea")
    $lan="korean";

    else if($language=="Saudia")
    $lan="arabic";

    else if($language=="Norwegian")
    $lan="norwegian";

    else if($language=="Malaysian")
    $lan="malaysian";

    else if($language=="Persian")
    $lan="persian";

    else if($language=="Portuguese")
    $lan="portuguese";

    else if($language=="Serbain")
    $lan="serbain";

    else if($language=="Swedish")
    $lan="swedish";

    else if($language=="Thai")
    $lan="thai";

    else if($language=="Vietnamese")
    $lan="vietnamese";

    else if($language=="Turkey")
    $lan="turkish";

    unset($_SESSION['lang']);
   $_SESSION['lang']=$lan;
   $_SESSION['language']=$language;

  }

那么有人可以告诉我为什么会出现这个错误以及如何解决这个问题吗?任何帮助和建议都将不胜感激。谢谢

4

5 回答 5

3

要在不触发通知的情况下测试数组索引是否存在,请使用isset().

if(isset($array['index'])) doSomething();
于 2013-02-07T09:47:30.670 回答
1

您应该先测试是否$_SESSION['lang_selected']存在。

if(!isset($_GET['q']) && (isset($_SESSION['lang_selected']) && $_SESSION['lang_selected'] == "") && ($ln == 1))
于 2013-02-07T09:47:21.850 回答
1

检查是否使用 $_SESSION['lang_selected'] 设置

if(isset($_SESSION['lang_selected'])) {
    //do something when lang_selected contains a value
}
于 2013-02-07T09:47:50.450 回答
0

$_SESSION['lang_selected'] 有问题,我认为它没有设置。

于 2013-02-07T09:55:23.347 回答
-1

使用@$_SESSION['lang_selected'] 临时解决方案,

于 2013-02-07T10:06:02.607 回答