当我键入打开的url home.php时,我想阻止此操作,除非用户登录
当用户在地址栏中键入当我键入打开的url home.php时,我想阻止此操作,除非用户登录,php,Php,当用户在地址栏中键入home.phpURL时,它将打开并显示主页 我想阻止用户访问主页,除非他们已登录 以下是我尝试过的: <?php if ( isset( $_POST['btn_submit'] ) ) { $password = $_POST['txt_pass']; if ( $password == '123' ) { header( "Location: home.php" ); //home.php } else {
home.php
URL时,它将打开并显示主页
我想阻止用户访问主页,除非他们已登录
以下是我尝试过的:
<?php
if ( isset( $_POST['btn_submit'] ) ) {
$password = $_POST['txt_pass'];
if ( $password == '123' ) {
header( "Location: home.php" ); //home.php
} else {
header( "location: index.php" );
}
}
如果未设置变量,则可以使用PHP函数限制对页面的访问
乙二醇
您可以创建会话,如果用户登录,则可以:
$_SESSION["user"] = "true" ;
您的代码如下所示:
<?php
if($_SESSION["user"] = "true"){
if(isset($_POST['btn_submit']))
{
$password=$_POST['txt_pass'];
if($password=='123')
{
header("Location: home.php"); //home.php
}
else {
header("location: index.php");
}
}
}
else {
header("/");
}
?>
因此,当用户登录时,请使用会话/cookie并检查该会话/cookie是否存在。如果没有-不要让用户打开页面。使用固定会话还是简单会话更好?从未以这种方式使用常量。如果您已将其存储在会话中。如果(isset($_SESSION['errors']){//Do stuff}或者{exit('No direct script access allowed');}哦,我相信会话或cookie总是在登录后创建的,所以您可以总是在没有任何其他内容的情况下使用会话。@Danielius代码可以在其他地方设置会话,而无需用户登录。例如,会话变量可用于传递错误消息或跟踪站点上的其他内容。最好总是尽可能明确地检查。好吧,我用过这段代码,即使我输入密码,它也会阻止我输入。
$_SESSION["user"] = "true" ;
<?php
if($_SESSION["user"] = "true"){
if(isset($_POST['btn_submit']))
{
$password=$_POST['txt_pass'];
if($password=='123')
{
header("Location: home.php"); //home.php
}
else {
header("location: index.php");
}
}
}
else {
header("/");
}
?>