php 注意:未定义的索引:登录 C:xampphtdocsindex.php 第 55 行


php Notice: Undefined index: login in C:xampphtdocsindex.php on line 55

可能的重复项:
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

将登录设置为空值。但它将被设置。