PHP:检查辅助页面上的会话状态

时间:2013-01-25 04:53:03

标签: php

我正在使用来自http://tutorialzine.com/2009/10/cool-login-system-php-jquery/的PHP登录系统为了给您一个快速概述,我相信教程以下列方式设置变量:

<?php
define('INCLUDE_CHECK',true);
require 'connect.php';
require 'functions.php';
// Those two files can be included only if INCLUDE_CHECK is defined

session_name('tzLogin');
// Starting the session

session_set_cookie_params(1*7*24*60*60);
// Making the cookie live for 1 weeks

session_start();
if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe'])

..........

到目前为止一直很好,除了我不能将会话变量从主登录页面转移到后续页面(包含受限内容)。以下是我打算在每个受限制的内容页面的开头放置的基本代码

<?php
session_name('tzLogin');
session_set_cookie_params(1*7*24*60*60);
session_start();
    if($_SESSION['id'])  <-- I believe I need more code here (incldue the cookie)
{
//If all is well, I want the script to proceed and display the HTML content below.
}
else 
{
header("Location: MainLogin.html");
or die;
//redirects user to the main login page.
}
?>

正如你所看到的,我是一个新手,但任何帮助都将不胜感激。截至目前,我的受限内容页面即使在我正确登录时仍会被重定向到主页。因此我怀疑,SESSION状态不会被转移。再次感谢!

1 个答案:

答案 0 :(得分:0)

您应该确保在调用session_set_cookie_params时设置路径和域:

session_set_cookie_params ( 1*7*24*60*60, '/','.yourdomain.com')

参见http://php.net/manual/en/function.session-set-cookie-params.php (这也是设置httpOnly属性的好主意。)

此外,请确保您实际为会话ID密钥指定了一些值(在您的代码示例中并不清楚):

$_SESSION['id'] = 'some value';

最后,您可能希望在调试时使用session_status()来验证您是否已正确启动会话(http://php.net/manual/en/function.session-status.php)。