PHP代码无法按预期工作

时间:2015-02-13 00:44:39

标签: php html

我创建了一个简单的用户一个密码自定义登录来保护特定页面。在我想要保护的页面(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的自定义登录,并以简单和清洁的方式这样做。

1 个答案:

答案 0 :(得分:0)

为什么要包含像<include'login.php'/>这样的login.php?

应为<?php include 'login.php'; ?>

如果您正在检查是否在index.php上设置了值,那么表单应该将操作设置为login.php或index.php