所以我有一个报纸供应商系统,其中有两个实体,管理员和供应商。在两人都注册到系统后,他们会被重定向到登录表单,在那里他们输入用户名和密码。我遇到的问题是,在点击登录按钮后,我没有被带到管理员和供应商应该被带到的相应页面。相反,会再次将我重定向到登录表单。任何线索都将不胜感激。非常感谢。
这是的登录表单
<form class="user" action="loginserver.php" method="POST" style="background-color:#f1f1f1">
<div class="form-group">
<label>Username</label>
<input type="text" name="login_username" class="form-control form-control-user" placeholder="Username">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="login_password" class="form-control form-control-user" placeholder="Password">
</div>
<button type="submit" name="login_btn" class="btn btn-primary btn-user btn-block"> Login </button>
<hr>
</form>
登录表单的逻辑代码
<?php
session_start();
$_SESSION['vendor_id']= '$vendor_id';
$_SESSION['vendor_email']= '$vendor_email';
$_SESSION['login_username']= '$login_username';
$login_username="";
$login_password="";
$errors = array();
// connect to the database
$db = mysqli_connect('localhost', 'root', '', 'news');
if (isset($_POST['login_btn'])) {
login();
}
// LOGIN USER
function login(){
global $db, $login_username, $errors;
$login_password="";
$login_username= trim($_POST['login_username']);
$login_password=trim($_POST['login_password']);
function e($val){
global $db;
return mysqli_real_escape_string($db, trim($val));
}
// grab form values
$login_username = e($_POST['login_username']);
$login_password = e($_POST['login_password']);
// make sure form is filled properly
if (empty($login_username)) {
array_push($errors, "Username is required");
}
if (empty($login_password)) {
array_push($errors, "Password is required");
}
// attempt login if no errors on form
if (count($errors) == 0) {
$login_password = md5($login_password);
$query = "SELECT * FROM login WHERE login_username='$login_username' AND login_password='$login_password' LIMIT 1";
$results = mysqli_query($db, $query);
if (mysqli_num_rows($results) == 1) { // user found
// check if user is admin or client
$logged_in_user = mysqli_fetch_assoc($results);
if ($logged_in_user['login_rank'] == 'admin') {
$_SESSION['admin'] = $logged_in_user;
$_SESSION['success'] = "You are now logged in";
header('location: paper.php');
}
elseif ($logged_in_user['login_rank'] == 'vendor')
{
$result = mysqli_query($db,"SELECT vendor.vendor_id from vendor inner join login on login.login_id= vendor.vendor_login_id where login_username='$login_username'");
$row = mysqli_fetch_array($result);
if(is_array($row)) {
$_SESSION["vendor_id"] = $row['vendor_id'];
header('location: home1.php');
}
}
//elseif ($logged_in_user['login_rank'] == 'schoolhead')
//{
// $result = mysqli_query($db,"SELECT schoolhead.schoolhead_id from schoolhead inner join login on login.login_id= schoolhead.schoolhead_login_id where login_username='$login_username'");
// $row = mysqli_fetch_array($result);
// if(is_array($row)) {
// $_SESSION["schoolhead_id"] = $row[schoolhead_id];
// header('location: requestschool.php');
//}
//}
//elseif ($logged_in_user['login_rank'] == 'manager')
//{
// $result = mysqli_query($db,"SELECT childrenhomemanagers.manager_id from childrenhomemanagers inner join login on login.login_id= childrenhomemanagers.manager_login_id where login_username='$login_username'");
// $row = mysqli_fetch_array($result);
// if(is_array($row)) {
// $_SESSION["manager_id"] = $row[manager_id];
// header('location: requestmanager.php');
//}
//}
}else {
array_push($errors, "Wrong username/password combination");
}
}
很难回答这个问题,因为它没有包含足够的引用。
如果你想在PHP中重定向,你可以使用这个函数
header('Location: /desiredpage');