我创建了一个简单的用户一个密码自定义登录来保护特定页面。在我想要保护的页面(gallery.php)中,我有以下代码:
<?php
session_start();
if (!$_SESSION["Login"]){
header("Location:index.php");
}
?>
<p>some protected content</p>
如果用户输入网址http://www.example.com/pics/gallery.php
,则如此这些网页会将您带到http://www.example.com/pics/index.php
在索引中我有以下代码:
<?php
session_start();
if(($_POST['username'] == "user1") && ($_POST['pass'] == "pass1"))
{
$_SESSION["Login"]= true;
header("Location:gallery.php");
}
else
{ ?>
<?php include 'header.php'; ?>
<div class="wlcm">
<div class="login-box wow fadeInUp">
<h2 class="lgn-tle">Please login</h2>
<form name="login" method="post" accept-charset='UTF-8'>
<input
type="text"
id="username"
name="username"
class="wow fadeInUp"
data-wow-delay=".2s"
placeholder="User"
required="true">
<input
type="password"
id="pass"
name="pass"
class="wow fadeInUp"
data-wow-delay=".4s"
placeholder="Password"
required="true">
<input
type="submit"
name="Submit"
class="submit wow fadeInUp"
data-wow-delay=".6s"
value="Login">
</form>
</div>
</div>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo "incorrect";
}
}
?>
虽然gallery.php上的代码可以正常工作,但如果用户尚未登录,则会将用户带到login.php。当我在index.php中提交正确的信息时,我只得到一个没有任何php错误的空白页。
看起来像标题(“Location:gallery.php”);什么都不做,我在“位置”之后尝试了绝对路径和空格。
我在这里遗漏了什么吗? 我想要的只是一个使用html表单而不是.htaccess的自定义登录,并以简单和清洁的方式这样做。
答案 0 :(得分:0)
为什么要包含像<include'login.php'/>
这样的login.php?
应为<?php include 'login.php'; ?>
如果您正在检查是否在index.php上设置了值,那么表单应该将操作设置为login.php或index.php