php - 如果用户未登录,则重定向到登录页面 - 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> </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>
解决方案
首先阅读有关此主题的更多信息:会话
这个小代码示例也可能有所帮助。
在登录页面上试试这个:
<?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;
}
推荐阅读
- cordova - 非法指令:安装cordova时4
- c# - C#:SerialPort.Open 挂起
- html - div 中的两个按钮未对齐
- c# - Unity 包管理器错误:zlib:数据检查不正确。未加载任何包
- html - CSS:如何删除图像和边框之间的空间?
- php - 尝试显示数据库中的图像时出现问题
- amazon-web-services - Agora 云录制不保存到 S3 并返回 404
- gcc - 疯狂寻找错误的路径
- python - Pandas pivot_table:过滤聚合函数
- javascript - 我无法使用 aws education aacount 访问 appsync 服务