可能的重复项:
PHP:"注意:未定义的变量"和"注意:未定义的索引"
我收到警告。我想照顾它。这是违规代码
if ($_REQUEST['login']) $user = $_REQUEST['login'];
elseif ($_COOKIE['user']) $user = $_COOKIE['user'];
if ($_REQUEST['encpas']) $pass = $_REQUEST['encpas'];
elseif ($_COOKIE['pass']) $pass = $_COOKIE['pass'];
if ($_REQUEST['randsess']) $sess = $_REQUEST['randsess'];
elseif ($_COOKIE['sess']) $sess= $_COOKIE['sess'];
我不知道如何摆脱它们。
谢谢
检查变量,看看它们是否设置并具有值:
if ( isset($_REQUEST['login']) ) {
$user = $_REQUEST['login'];
} elseif ( isset($_COOKIE['user']) ) {
$user = $_COOKIE['user'];
}
在检查索引是否为真之前,尝试使用 isset() 检查索引是否已初始化。http://au.php.net/manual/en/function.isset.php
你应该使用 array_key_exists,或者 isset。根据某些基准,最后一个更快。
if( isset( $_REQUEST['login'] ) ) {
$user = $_REQUEST['login'];
}
ISSET 不将 NULL 计为值。
请注意这一点,因为以下几点:
index.php?login=&otherstuff
将登录设置为空值。但它将被设置。