如果未键入用户名/密码,则使页面无法访问。PHP
嗯,我知道有很多这样的线。但他们在评论中说的每一句话我都试过了,没有任何结果。所以我想我必须在这里尝试一下 基本上,我在“login.html”中有一个登录表单,您可以在其中键入“Username(Name=userId)”和“Password”,它会将您重定向到“login.php”以确保用户名和密码已写入,如果是,它应该再次重定向到“hidden.php”。。如果我把它去掉,效果很好如果未键入用户名/密码,则使页面无法访问。PHP,php,html,Php,Html,嗯,我知道有很多这样的线。但他们在评论中说的每一句话我都试过了,没有任何结果。所以我想我必须在这里尝试一下 基本上,我在“login.html”中有一个登录表单,您可以在其中键入“Username(Name=userId)”和“Password”,它会将您重定向到“login.php”以确保用户名和密码已写入,如果是,它应该再次重定向到“hidden.php”。。如果我把它去掉,效果很好 <?php session_start(); if(!isset($_SESSION['User'])
<?php
session_start();
if(!isset($_SESSION['User']))
{
header('location: login.php');
exit();
}
?>
这是“hidden.php”顶部的一行
但在另一方面,如果人们只输入“/hidden.php”而不输入密码,它应该将您重定向到“Login.php”,这在任何情况下都不起作用。。我已经搜索了很多,找到了关于它的线索,但是没有一个在我的案例中起作用
<?php
session_start();
$serverName = "den1.mysql2.gear.host";
$username = "lexidatabaseweb";
$password = "*";
$db = "lexidatabaseweb";
//Create connection
$conn = mysqli_connect($serverName, $username, $password, $db);
if(isset($_POST['userId']))
{
$User=$_POST['userId'];
$Pass=$_POST['passId'];
$sql = "SELECT * from tbl_register WHERE Username= '".$User."' AND Password = '".$Pass."' limit 1";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result) == 1){
header('location: hidden.php');
exit();
}
else{
echo" <label style='color:red;'> Wrong username / password.</label>";
exit();
}
}
else
{
echo "Invalid request";
}
?>
您没有在登录页面中设置会话变量,因此请在检查正常后设置它
if(mysqli_num_rows($result) == 1){
$_SESSION['User'] = $User;
header('location: hidden.php');
exit();
}
您还应该更改密码处理并阅读
还可以查看准备好的语句。您没有在登录页面中设置会话变量,所以在检查确定后设置它
if(mysqli_num_rows($result) == 1){
$_SESSION['User'] = $User;
header('location: hidden.php');
exit();
}
您还应该更改密码处理并阅读
同时查看准备好的语句。在mysqli_num_行($result)==1中设置会话,然后为会话销毁和执行文件创建logout.php文件,然后再次执行hidden.php
文件。是否您正在查看该文件的缓存版本,该文件在您实现会话处理之前曾被请求过一次?@BilalAhmed如何销毁会话?我对php一无所知。@arkascha Idk这意味着什么,我对php一无所知:/set session inmysqli\u num\u rows($result)==1
然后为session destroy和execute文件创建logout.php文件,然后再次执行hidden.php
文件。是否您正在查看该文件的缓存版本,该文件在您实现会话处理之前曾被请求过一次?@BilalAhmed如何销毁会话?我对php完全陌生。@arkascha Idk这意味着什么,我对php很陌生!我解决了第一个问题。。但是现在我可以在页面顶部写“/hidden.php”,它会指引我找到它。如果没有loginOne,那么测试可能仍然有一个会话集-请确保在测试“未登录”部分之前可以清除会话。很抱歉询问,但是。。。我应该在哪个.php文件中执行此操作?我应该使用SeStIsApple()还是应该如何清除它?您可能需要在页面上注销链接——如果这有帮助的话,请考虑将其标记为“应答”。如果您对这些问题有满意的答案,还包括您之前提出的问题。哦!我解决了第一个问题。。但是现在我可以在页面顶部写“/hidden.php”,它会指引我找到它。如果没有loginOne,那么测试可能仍然有一个会话集-请确保在测试“未登录”部分之前可以清除会话。很抱歉询问,但是。。。我应该在哪个.php文件中执行此操作?我应该使用SeStIsApple()还是应该如何清除它?您可能需要在页面上注销链接——如果这有帮助的话,请考虑将其标记为“应答”。如果您对这些问题有满意的答案,还将涵盖您之前提出的问题。