微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

警告:尝试访问 bool 类型值的数组偏移量 (PDO)

如何解决警告:尝试访问 bool 类型值的数组偏移量 (PDO)

我不知道为什么会弹出这个错误。当我切换到 PDO 时会发生这种情况 注意:我还是 PDO 的新手。

警告:尝试访问 C:\xampp\htdocs\AR NEW\includes\functions.inc.PHP 中第 283 行的 bool 类型值的数组偏移

警告:尝试访问第 29 行 C:\xampp\htdocs\AR NEW\includes\nav.PHP 中 bool 类型值的数组偏移

这是functions.inc.PHP第283行的代码

function isAdmin(){
if (isset($_SESSION['user']) && $_SESSION['user']['user_type'] == 'admin' ) {
    return true;
}else{
    return false;
}

}

这是 nav.PHP 第 29 行的代码

        <?PHP  if (isset($_SESSION['user'])) : ?>
        <style>nav .logedin{display:block}nav .navbar-animate li a{ 
        padding: 5px 0 0 45px;} 
        </style>
        <! --This is the line 29 --!><li class="username" ><p>Welcome,<? 
        PHP echo 
         $_SESSION['user'] 
         ['username']; ?> 
        </p></li>
        <li><a class="logout" href="index.PHP?logout='1'">logout</a></li>
        <?PHP elseif($page=='about'): ?>
        <li><a href="signup.PHP" class="lgin">Signup</a></li>
        <?PHP else: ?>
        <li><a href="index.PHP" class="lgin">Login</a></li>
        <?PHP endif ?>

这是注册的完整代码

     // register user if there are no errors in the form
    if (count($errors) == 0) {


    if (isset($_POST['user_type'])) {
        $user_type = e($_POST['user_type']);
        $query = $pdo->prepare("INSERT INTO accounts (username,email,user_type,password) VALUES(:username,:email,:user_type,:password)");
        $query->execute(array(':username'       =>$username,':email'        =>$email,':user_type'    =>$user_type,':password'     =>$hashedpwd,));


        $_SESSION['add']  = "Added successfully";
        header('location: users.PHP');
        exit(0);
       }else{
        $user_type = 'users';
        $query = $pdo->prepare("INSERT INTO accounts (username,));



        // get id of the created user
        $logged_in_user_id =  $pdo->lastInsertId();
        $_SESSION['user'] = getUserById($logged_in_user_id); // put logged 
      in user in session
        $_SESSION['add']  = "You are Now logged in and thank you!";

        header('location: index.PHP');
        exit(0);
     }
     }

     }

这是用于登录

        // LOGIN USER
        function login(){
       global $pdo,$errors,$hashedpwd;

      // grab form values
      $email = htmlspecialchars($_POST['email']);
    $password = htmlspecialchars($_POST['password']);

    // make sure form is filled properly
    if (empty($email)) {
    array_push($errors,"Email is required");
    }

    if (empty($password)) {
    array_push($errors,"Password is required");
    }

    // attempt login if no errors on form
     if (count($errors) == 0) {

    $query = $pdo->prepare("SELECT * FROM accounts WHERE email=:email 
    LIMIT 1");
    $query->execute(array(':email'=>$email));
    $row=$query->fetch();

    if ($query->rowCount() > 0) { // check condition database if greater 
      than zero
        $logged_in_user = $query->fetch();

        if ($email==$row['email']) {

            if (password_verify($password,$row['password'])) {

                // check if user is admin or user
                if ($logged_in_user['user_type'] == 'admin') {

                    $_SESSION['user'] = $logged_in_user;
                    $_SESSION['success']  = "You are Now logged in";

                    header('location: admin/admin.PHP');
                    exit(0);
            }else {
                    $_SESSION['user'] = $logged_in_user;
                    $_SESSION['success']  = "You are Now logged in";

                    header('location: index.PHP');
                    exit(0);
            }
        }else{
            array_push($errors,"Wrong password");
        }
    }else {
        array_push($errors,"Wrong username/password combination");
    }
    }
   }
   }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。