[英]How to redirect the user to the home page with jQuery after successful login
[英]How to separate home page for user and admin after they login/signin?
我有问题,当我以用户或管理员身份登录时,它会 go 到同一页面,即 home.php。 所以我想要的解决方案是我想要拥有自己的用户和管理员 home.php。 这是我的 login.php 代码:
<?php
session_start();
include("functions.php");
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Signin Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body class="text-center">
<?php
if(isset($_POST['signin'])){
$password = $_POST['password'];
$email = $_POST['email'];
$query = "SELECT * from `accounts`;";
if(count(fetchAll($query)) > 0){ //this is to catch unknown error.
foreach(fetchAll($query) as $row){
if($row['email']==$email&&$row['password']==$password){
$_SESSION['login'] = true;
$_SESSION['type'] = $row['type'];
header('location:home.php'); //Here is the problem
}else{
echo "<script>alert('Wrong login details.')</script>";
}
}
}else{
echo "<script>alert('Error.')</script>";
}
}
?>
<div class="container">
<form method="post" class="form-signin">
<img class="mb-4" src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
<h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
<label for="inputEmail" class="sr-only">Email address</label>
<input name="email" type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input name="password" type="password" id="inputPassword" class="form-control" placeholder="Password" required>
<button name="signin" class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
<a href="signup.php" class="mt-5 mb-3 text-muted">Create an account</a>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>
..................................................... ..................................................... ……
检查类型,然后相应地重定向:
$_SESSION['type'] = $row['type'];
if ($_SESSION['type'] == 'admin') {
header('location:admin-home.php');
}
else {
header('location:home.php');
}
我不知道您的文件夹/文件的结构,但这里有一个指针
检查if ($row['type'] == 'admin')
然后重定向到管理路径,但是你喜欢header('location:admin.php');
然后else if ($row['type'] == 'user')
然后重定向到用户路径header('location:user.php');
然后,如果用户类型既不是,您可以使用“else”重定向到错误页面
使用更好的查询
$query = "SELECT * from `accounts` WHERE email='$email' AND password='$password' LIMIT 1;";
并使用它重定向到他们自己的主页。
if(isset($_SESSION['login'])){
$type = $_SESSION['type'];
if($type = "admin"){
header('location: home-admin.php');
}else{
header('location: home-user.php');
}
exit();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.