[英]PHP Redirect based on Mysqli query
我是编码和自学的新手。 所以请耐心等待我,我正在尝试创建一个登录脚本,根据他们在mysql
表中的groupid
将用户重定向到不同的页面。
这是我的代码示例:
public function login(){
$errorMessage = '';
if(!empty($_POST["login"]) && $_POST["loginId"]!=''&& $_POST["loginPass"]!='') {
$loginId = $_POST['loginId'];
$password = $_POST['loginPass'];
if(isset($_COOKIE["loginPass"]) && $_COOKIE["loginPass"] == $password) {
$password = $_COOKIE["loginPass"];
} else {
$password = md5($password);
}
$sqlQuery = "SELECT * FROM ".$this->userTable."
WHERE email='".$loginId."' AND password='".$password."' AND status = 'active'";
$resultSet = mysqli_query($this->dbConnect, $sqlQuery);
$isValidLogin = mysqli_num_rows($resultSet);
if($isValidLogin){
if(!empty($_POST["remember"]) && $_POST["remember"] != '') {
setcookie ("loginId", $loginId, time()+ (10 * 365 * 24 * 60 * 60));
setcookie ("loginPass", $password, time()+ (10 * 365 * 24 * 60 * 60));
} else {
$_COOKIE['loginId' ]='';
$_COOKIE['loginPass'] = '';
}
$userDetails = mysqli_fetch_assoc($resultSet);
$_SESSION["userid"] = $userDetails['id'];
$_SESSION["name"] = $userDetails['first_name']." ".$userDetails['last_name'];
header("location: ***WANT TO QUERY MYSQL TABLE AND BASED ON GROUPID REDIRECT TO RESPECTIVE GROUP LANDING PAGE STORED IN MYSQL TABLE***");
} else {
$errorMessage = "Invalid login!";
}
我有两个 sql 表,第一个用于login users
+ store info
有关用户的信息。
第二个包含我想要重定向的urls
, id
是与第一个表中的groupid
匹配的foreign key
。
有没有办法使用groupid
来放置
header("location: sampleofwhatiwouldliketochangebasedongroupid.php")
感谢您的考虑和帮助。
将用户表与重定向表连接起来。
$sqlQuery = "SELECT u.id, u.first_name, u.last_name, r.url FROM ".$this->userTable." AS u
JOIN ".$this->redirectTable." AS r ON u.groupid = r.id
WHERE email='".$loginId."' AND password='".$password."' AND status = 'active'";
...
header("Location: " . $userDetails['url']);
将url
替换为带有重定向 URL 的列的实际名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.