2011-05-28 16 views
2

我正在寻找一个PHP脚本,所以我的整个网站需要密码才能访问。我不想要一个sql数据库,我只想让一个凭证的用户在一个变量中设置。php登录脚本,只有一个用户设置在一个变量

的config.php

<?php 
$secured = false; 
$username = "user"; // Set manually by editing config 
$password = "pass"; //Set manually by editing config 
?> 

那么index.html

<form action="auth.php" method="post"> 
Username: <input type='text' name="user" value='' /> 
Password: <input type='password' name="password" value='' /> 
<input type='submit' value='Log in' /> 
</form> 

然后auth.php(这是我需要的编码)

<?php 
require once "config.php" 
If $secured = false the redirect to page1.html 

//所以如果它的false不需要的话在现场任何地方进行认证。

If $secured = true then ask for username and password. 
If wrong display error message. 
If right redirect to page1.html 
?> 

这就是我想要实现的。然后,我还需要将登录信息存储为会话变量,以便记住您登录并检查每个登录的页面,然后终止注销。所以一个我可以坚持到某个地方的按钮就可以完成这项工作。希望这一切都有道理。

问题:auth.php脚本是怎么样的?

感谢

+0

但是,什么是你的问题? – 2011-05-28 22:01:48

+0

这不是一个“请让我做脚本”的网站! – 2011-05-29 14:58:57

+0

然后去回答另一个问题! – Michael 2011-05-29 20:25:25

回答

4

你可以使用会话要记住,如果用户已经登录,要做到这一点,添加:

session_start(); 

在config.php

在每个需要登录页面,在此添加剧本顶部:

require_once('config.php'); 
if ($secured && (!isset($_SESSION['loggedin']) || !$_SESSION['loggedin'])) { 
    header('Location: index.html'); 
    exit; 
} 

Auth.php应该如下所示。

<?php 
require_once("config.php"); 
If (!$secured) { 
    header('Location: page1.html'); 
    exit; 
} 
if (isset($_POST['user']) && isset($_POST['password'])) { 
    if ($_POST['user']==$username && $_POST['password']==$password) { 
     // OK 
     $_SESSION['loggedin'] = true; 
     header('Location: page1.html'); 
     exit; 
    } else { 
     echo "Bad login credentials. <a href=\"index.html\">Try again</a>"; 
    } 
} else { 
    // not logging in 
    header('Location: index.html'); 
    exit; 
} 
?> 

要注销,只需创建一个脚本logout.php:

<?php 
require_once('config.php'); 
$_SESSION['loggedin'] = false; 
?> 
+0

第8行和第17行有语法错误.. – Michael 2011-05-29 13:53:16

+0

好吧修复它。在第8行中应该只有一个)文本后不是两个 – Michael 2011-05-29 14:00:34

+0

如何注销? – Michael 2011-05-29 14:02:16

1

您可以使用会话(见$_SESSION)来存储,如果用户登录或没有。

一旦用户登录,您可以设置某人登录的会话,然后在每次访问时检查会话是否存在并且是否有效(使用私人盐和散列)。如果会话变量不存在或无效直接用户登录页面。