我已經試過這在每一頁在我的網站頭運行,以驗證用戶登錄,他們可以瀏覽該網站前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