2017-02-18 91 views
2

我在用PHP代码查找密码保护我的网站(index.html)上的特定页面。只保护一页的密码

这就是我现在所拥有的(此代码是从另一个问题就在这里C/P):

<?php 
session_start(); 
$username="admin"; 
$password="jATPqhu9"; 

if(isset($_POST['username']) && $_POST['username'] == $username && $_POST['password'] == $password) 
{ 
    header("Location: ecks.html"); 
    exit; 
} 
else 
{ 
?> 

<html> 
    <head> 
    </head> 
    <body> 
     <div style='text-align:center'> 
     <h3>Welcome To ---</h3> 
     </div> 
     <hr /><br /> 
     <form id='login' action="" method='post' accept-charset='UTF-8'> 
      <fieldset style="width:550px"> 
      <legend>Admin Login</legend> 
      <input type='hidden' name='submitted' id='submitted' value='1'/> 

      <label for='username' >UserName:</label> 
      <input type='text' name='username' id='username' maxlength="50" /> 


      <label for='password' >Password:</label> 
      <input type='password' name='password' id='password' maxlength="50" /> 

      <input type='submit' name='submit' value='Submit' /> 
      </fieldset> 
     </form> 
    </body> 
</html> 
<?php 
} 
?> 

出于某种原因,重定向的部分(标题( “位置:ecks.html”); )不会重定向到ecks.html。

+0

是的。除了重定向之外,一切都有效。 –

+0

检查你的http服务器错误日志文件,很可能是在调用head函数的输出_before_中。 – arkascha

+0

另外看看你的浏览器控制台网络选项卡应该显示是否根本发送了这个头文件。 – arkascha

回答

0
<?php 
session_start(); 
$username="admin"; 
$password="jATPqhu9"; 

if(isset($_POST['username']) && $_POST['username'] == $username && $_POST['password'] == $password) 
{ 

$_SESSION['username'] = $username; 
header("Location: ecks.html"); 
exit; 
} 
else 
{ 
    echo "incorrect info."; 
} 
?> 

Put this in the ecks.html page 
<?php 
session_start(); 

if (!isset($_SESSION['username'])) { 
    //login html 
} 
?> 

希望这个作品

+0

我已经更新了所有内容,但是它仍然没有做任何事情!此外,ecks.html部分只是为了确保人们在查看ecks.html时登录,否则他们必须登录? –

1

我不认为有任何使用HTML或这是最好的保护它免受服务器端的其他一些网页上设定的用户名和密码。 这样做,在服务器中,当您尝试访问该页面时,直接访问Leach Protection或目录保护或热链接并为其设置密码,当您在Web上访问您的文件时,您将需要用户名和密码。

+0

是的,我知道这根本不安全,但我需要在确保它的安全性之前先设置它。 –