首页 > 解决方案 > 如果用户未登录,则重定向到登录页面 - PHP

问题描述

我正在处理 PHP 任务。我有两页。上 e 用于登录,成功登录后,用户将重定向到下一页。但是如果有人在 URL 栏中输入 page2 的 URL 而没有通过登录页面进入页面。他们可以,我想限制这一点。但不知道,如何......这是我的登录页面代码。

<html>
<body>
<div id="content">
<h3>Login to AdminUpdate</h3>
<form id="login" action="" method="post">
<p>
<label for="userid">UserID:</label>
<input type="text" name="Name" id="UserID"/>
</p>
<p>
<label for="PIN">PIN:</label>
<input type="password" name="password" id="PIN" />
</p>

<p>
<input type="submit" name="btnSend" value="Login" class="submit_button" />

</p>
</form>
<td>&nbsp;</td>


<div id="wrap">
<!-- start PHP code -->
<?php

$conn = mysqli_connect("localhost", "root", "", "tnz");
if($conn === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}

if(!empty($_POST['Name']) && (!empty($_POST['password']))){
$UserName = $_POST['Name'];
$PIN = $_POST['password'];

$search = mysqli_query($conn,"SELECT * FROM login WHERE Name='".$UserName."' AND password='".$PIN."'") or die(mysql_error()); 
$match  = mysqli_num_rows($search);

if($match > 0){
header('Location: AdminUpdates.php');
}else{
echo 'LogIn  Failed';
header('Location: AdminCheck.php');
}
}
        

?>
       

</div>
</div>
</body>
</html>

标签: phpmysqlmysqliphp-7

解决方案


首先阅读有关此主题的更多信息:会话

这个小代码示例也可能有所帮助。

在登录页面上试试这个:

<?php
session_start();

$conn = mysqli_connect("localhost", "root", "", "tnz");
if($conn === false){
  die("ERROR: Could not connect. " . mysqli_connect_error());
}

if(!empty($_POST['Name']) && (!empty($_POST['password']))){
  $UserName = $_POST['Name'];
  $PIN = $_POST['password'];

  $search = mysqli_query($conn,"SELECT * FROM login WHERE Name='".$UserName."' AND password='".$PIN."'") or die(mysql_error()); 
  $match  = mysqli_num_rows($search);

  if($match > 0){
    $_SESSION['loggedin'] = true;
    header('Location: AdminUpdates.php');
  }
  else{
    echo 'LogIn  Failed';
    header('Location: AdminCheck.php');
  }
}
        

?>

然后,在第二页的脚本顶部添加以下代码:

<?php
session_start();
if(empty($_SESSION['loggedin'])){
  //redirect to login page
  header('Location: AdminCheck.php');
  die;
}

推荐阅读