gpt4 book ai didi

php - 无法使用密码保护页面/区域

转载 作者:行者123 更新时间:2023-11-29 16:25:55 26 4
gpt4 key购买 nike

我正在尝试创建网站的密码保护区。我想通过检查 MySql 表中的用户名和密码来允许访问,然后启动一个 session 并允许在 session 处于事件状态时访问多个页面。如果有人尝试直接访问这些页面之一,我想将他们重定向到登录页面。

我的登录页面代码是:

     if (isset($_POST['submit']))
{
include("config.php");
session_start();
$username=$_POST['username'];
$password=$_POST['password'];
$passwordc=md5($password);

$query = "SELECT username FROM admin WHERE username='$username' AND password='$passwordc'";
$result2 = $conn->query($query);

if ($result2->num_rows != 0) {

$_SESSION["username"] = $user;
echo "<script language='javascript' type='text/javascript'> location.href='admin_view.php' </script>";
}else{
echo "<script type='text/javascript'>alert('User Name Or Password Invalid!')</script>";
}

}

它似乎有效(如果用户名和密码匹配,则正确重定向,如果不匹配则显示警报)。我没有做的实际上是在 session 不活动时保护我的页面不被显示。

   session_start();
if (!$_SESSION["username"]) {
header("Location: login.php");
}

我不是程序员或受过充分教育的网络开发人员。我了解 HTML 和 CSS,而且我几乎无法按照自述文件使用现成的 php 和 js 脚本。任何帮助将不胜感激。

最佳答案

将您的登录代码修改为

 if (isset($_POST['submit']))
{
include("config.php");
$username= $crud->escape_string($_POST['username']);
$password= $crud->escape_string($_POST['password']);
$passwordc=md5($password);
$query = "SELECT username FROM admin WHERE username='$username' AND
password='$passwordc'";
$result2 = $conn->query($query);
if ($result2->num_rows != 0) {
session_start();
$_SESSION["username"] = $user;
header("Location:admin_view.php");
}else{
$Message = urlencode("user name password invalid!");
header("Location:login.php?Message=".$Message);
}
}

如果您的值成功存储在 session 中,那么您可以使用类似

session_start();
if(!isset($_SESSION['username']))
{
header("Location: login.php");
}

在每个页面顶部您必须将查询中的名称存储到 session 中

关于php - 无法使用密码保护页面/区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54253243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com