【发布时间】:2013-02-26 11:08:42
【问题描述】:
这是我的问题,我可以说 2 页第 1 页和第 2 页,我需要打开会话并在第 1 页上设置 cookie,该 cookie 将保留 1 小时,并在每次页面刷新时重置。现在第 2 页的故事略有不同,首先第 2 页不应该打开任何会话,而是应该检查在第 1 页上打开的任何会话是否仍然有效,如果它仍然有效,则继续处理任何请求是和但是,如果访问第 2 页的访问者直接通过保存的 url 访问第 2 页,或者在会话 cookie 过期后的任何时间访问第 2 页,则在 cookie 的生命周期内保留,则访问者应重定向到第 1 页。
这是我迄今为止在第 1 页所做的工作
<?php
function startSession($time = 3600, $ses = 'MYSES') {
session_set_cookie_params($time);
session_name($ses);
session_start();
// Reset the expiration time upon page load
if (isset($_COOKIE[$ses]))
setcookie($ses, $_COOKIE[$ses], time() + $time, "/");
}
?>
问题是,我不知道该做什么以及如何做其余的以及我应该在第 2 页上显示什么?
这是我在第 2 页上尝试过的,但没有成功。
<?php
if (!isset($_SESSION));{
$a = session_id();
if(empty($a) and $_SERVER['HTTP_REFERER']);{
header('location: page1.html');}}
?>
请大家帮忙。
【问题讨论】:
-
乍一看,我可以看到一个错误。尝试在第一个 if 之后删除分号:if (!isset($_SESSION)){
-
我刚刚做了,但似乎仍然没有发生任何事情,不确定放在第 1 页上的脚本是否真的有效?
-
在第2页使用之前开始你的会话。
session_start(); -
@Ranjith,我也试过了,还是没有结果
标签: php session session-variables session-cookies session-timeout