我已经试过这在每一页在我的网站头运行,以验证用户登录,他们可以浏览该网站前session.php文件脚本。但是,现在process_login脚本不会加载安全登录页面,而只是重新加载到登录页面。我相信我的安全会话没有被正确设置。有人能进一步解释这是如何对我有用的吗?如何使用php和mysql进行安全会话?
这是脚本,的process_login在被执行时在用户点击登录:
<?php
// Initialize session
session_start();
// Require database connection settings
require('config.inc');
// Retrieve email and password from database
$email = mysql_real_escape_string($_POST['email']);
$password = mysql_real_escape_string(md5($_POST['password']));
$query = "SELECT * FROM $table WHERE email='$email' AND password='$password' LIMIT 1";
$result = mysql_query($query);
// Check email and password match
if(mysql_num_rows($result)) {
// Set email session variable
$_SESSION['email'] = $_POST['email'];
// Jump to secured page
header('Location: home.php');
}
else {
// Jump to login page
header('Location: index.php');
}
?>
,这是session.php文件脚本是在要求用户在要被记录的每个页面的头:
<?php
if (isset($_SESSION['email']) == 0) {
// Redirect to login page
header('Location: index.php');
}
?>
我们能看到你试过吗? – Ivan 2012-01-11 02:34:23
你应该给我们看一些代码。 – Cyclonecode 2012-01-11 02:34:33
当的process_login脚本被调用时,用户定义尚未登陆,所以你不应该的process_login期间运行验证/重定向代码。 – Jon 2012-01-11 02:36:16