为了账号安全,请及时绑定邮箱和手机立即绑定

具有不同重定向的php登录页面

具有不同重定向的php登录页面

PHP
互换的青春 2023-10-01 10:08:17
我创建了链接到数据库的登录页面,我想根据用户角色将用户重定向到不同的主页,如果 1 在登录后重定向到 indexorg.php,如果 0 在登录后重定向到 indexpart.php,但它不起作用,所有页面都被重定向到同一页面indexorg.php或indexpart.php(代码中的第一个)这是我的代码<?php// Initialize the sessionsession_start(); // Check if the user is already logged in, if yes then redirect him to welcome pageif(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){    if ($_SESSION["user_role"] = "1") {        $redirect = 'indexorg.php';    } else if ($_SESSION["user_role"] == "0") {        $redirect = 'indexpart.php';    }         header('Location: ' . $redirect);        //header("location: index.php");    exit;} // Include config filerequire "config.php"; // Define variables and initialize with empty values$email = $password = "";$email_err = $password_err = ""; // Processing form data when form is submittedif($_SERVER["REQUEST_METHOD"] == "POST"){     // Check if email is empty    if(empty(trim($_POST["email"]))){        $email_err = "Please enter email.";    } else{        $email = trim($_POST["email"]);    }        // Check if pass is empty    if(empty(trim($_POST["password"]))){        $password_err = "Please enter your password.";    } else{        $password = trim($_POST["password"]);    }        // Validate credentials    if(empty($email_err) && empty($password_err)){        // Prepare a select statement        $sql = "SELECT user_role, user_id, email, password  FROM users WHERE email = :email";                if($stmt = $pdo->prepare($sql)){            // Bind variables to the prepared statement as parameters            $stmt->bindParam(":email", $param_email, PDO::PARAM_STR);                        // Set parameters            $param_email = trim($_POST["email"]);            
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

在这一行

if ($_SESSION["user_role"] = "1")

您实际上将“1”分配给 $_SESSION["user_role"] 这始终是正确的。

为了进行比较,您应该使用==或,!=就像您在第二次比较中使用的那样。


查看完整回答
反对 回复 2023-10-01
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信