如果我在没有提交的情况下设置了一个$_SESSION索引,我就会收到一个PHP通知。想知道有没有解决办法吗?
通知:
PHP注意:未定义索引: bar
PHP
if($validation_condition) {
$_SESSION['bar'] = 'foo';
}
验证过程阻止表单提交,将表单数据保存到数据库并重新加载页面。$_SESSION‘’bar‘显示正确的值,但我在日志中得到通知。想要停止通知。
下面是var_dump()
array(1) {
["bar"]=>
string(3) "foo"
}
就像你看到的,它正在被设定。
和我原来的问题有一个小的区别,我把它设置成这样
$_SESSION['bar'] .= 'foo';
与.(点)连接。当我把它拿走的时候,通知就消失了。
把头贴在桌子上!
发布于 2012-03-08 11:45:06
一种方法是确保在这两种条件下设置$_SESSION['bar']
:
if ($validation_condition) {
$_SESSION['bar'] = 'foo';
} else {
$_SESSION['bar'] = '';
}
或者,在显示代码中,您可以首先检查是否存在$_SESSION['bar']
。
if (isset($_SESSION['bar'])) {
echo $_SESSION['bar'];
}
发布于 2012-03-08 11:45:47
$_SESSION['bar'] = $validation_condition ? 'foo' : '';
发布于 2012-03-08 11:46:28
通知简单地说,数组$_SESSION
没有一个名为'bar'
的索引。如果不确定索引是否存在,则应检查它:
if (isset($_SESSION['bar']))
echo $_SESSION['bar'];
else
echo 'something else';
https://stackoverflow.com/questions/9623789
复制