Php 为什么在一切正常的情况下,我得到了错误未定义的验证

Php 为什么在一切正常的情况下,我得到了错误未定义的验证,php,Php,为什么我会出现这个错误?这只是一个假错误吗?我应该用“@”隐藏它吗?我正在做一个登录/注册系统,一切正常,只有atm显示了这个错误。。但我可以注册或登录更改密码的一切 注意:未定义变量:第4行C:\xampp\htdocs\loginsistem\classes\Cookie.php中的名称 class Cookie { public static function exists() { return (isset($_COOKIE[$name])) ? true : f

为什么我会出现这个错误?这只是一个假错误吗?我应该用“@”隐藏它吗?我正在做一个登录/注册系统,一切正常,只有atm显示了这个错误。。但我可以注册或登录更改密码的一切

注意:未定义变量:第4行C:\xampp\htdocs\loginsistem\classes\Cookie.php中的名称

class Cookie {
    public static function exists() {
        return (isset($_COOKIE[$name])) ? true : false;
    }
    public static function get($name) {
        return $_COOKIE[$name];
    }
    public static function put($name, $value, $expiry) {
        if(setcookie($name, $value, time() + $expiry, '/')) {
            return true;
        }
        return false;
    }
    public static function delete($name) {
        self::put($name, '', time() - 1);
    }

}

只需像这样更改您的方法签名

 public static function exists($name) {
                             //^^^^^^ <--------- Pass the parameter $name
存在公共静态函数($name){

//^^^^^^没有所谓的“假错误”,使用
@
也不是一个好主意。在
exists()
函数中,您引用了
$name
,但它没有在该函数中设置。您可能想将其作为参数添加。
$name
不在访问
$\u COOKIE[$name]的第一个函数的作用域内
exists()
您将
$name
作为参数传递给
get()
,我们只能假设您的意图与
public static function exists($name)
相同。您的登录系统完全不安全。安全性很难。不要重新发明轮子。您应该使用现有的、经验证的身份验证系统。