如何解决php注意:未定义的索引

时间:2013-02-07 09:45:45

标签: php

我正在开发一个已经开发的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;

  }

有人可以告诉我为什么会出现这个错误以及如何解决这个问题?任何帮助和建议都会很明显。感谢

5 个答案:

答案 0 :(得分:3)

要测试数组索引是否存在而不触发通知请使用isset()

if(isset($array['index'])) doSomething();

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

设置
if(isset($_SESSION['lang_selected'])) {
    //do something when lang_selected contains a value
}

答案 3 :(得分:0)

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

答案 4 :(得分:-1)

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