我遇到了一个小小的警告/错误。
这是错误的: 注意:未定义的索引:第10行的**** / layout / header.php中的la
//select language
if (isset($_GET['la'])) {
$_SESSION['la'] = $_GET['la'];
header('location:'.$_SERVER['PHP_SELF']);
exit();
}
//language
switch ($_SESSION['la']) {
case 'en':
require('lang/en.php');
break;
case 'it':
require('lang/it.php');
break;
default:
require ('lang/en.php');
break;
}
问题出在"开关"。一切正常,但我该如何修复警告? 我试过某种方式,但是我进了球!
答案 0 :(得分:2)
注意:未定义的索引:la
它表示您在未定义的条件下使用的索引。
<强>解决方案强>:
在您的代码中,您缺少启动会话,您需要在顶层启动会话:
session_start(); // add on top.
对于未定义的索引,您需要在默认情况下声明会话索引。
$_SESSION['la'] = "";
修改后的代码:
session_start();
$_SESSION['la'] = "";
if (isset($_GET['la']))
{
$_SESSION['la'] = $_GET['la']; header('location:'.$_SERVER['PHP_SELF']);
exit();
}
//language
switch ($_SESSION['la'])
{
case 'en': require('lang/en.php');
break;
case 'it': require('lang/it.php');
break;
default: require('lang/en.php');
break;
}