真的希望这是有道理的,有人可以指出我正确的方向。在注册页面(父页面)上,当您输入许可证代码时,jQuery ajax成功函数会从另一个页面加载内容,并附加一个URL以包含会话ID:
success: function(data) {
if (data=="RegisterError") {
$("#error").show();
$("#processing").hide();
} else {
$("#contain").load("download-software.php?sessionid=xXXX #req");
}
}
页面“download-software”具有以下PHP引荐来源检查,以确保通过会话ID从注册页面请求内容,如果不是,则重定向您:
<?php
$code = $_GET['sessionid'];
if(strcmp( $code , 'xXXX' ) != 0) {
header("Location: http://www.someotherpage.com");
}
?>
工作正常。现在我需要做的是在加载到父页面的“download-software #req”内容中,有一个链接,当点击时替换已经加载到父页面内的“download-software #req”内容来自另一个页面的内容并执行相同类型的会话ID检查。
我无法让它发挥作用。我将以下代码放在“download-software #req”内容中
<a id="beta"
&gt;测试版
$(“#beta”)。click(function(){
$(“#req”)。load(“NT7-SP1-Download.php #betaNotes”);
});`
我也尝试过使用.live功能。如何开始新会话并使其工作? * 答案的 ** 我在父页面上使用了live函数,它工作正常。我觉得这太难了。
答案 0 :(得分:2)
我会避免使用GET查询字符串参数并使用包含的PHP会话函数。
使用:
<?php
// initialize the session
session_start();
// assignment call
$_SESSION['key'] = 'value';
?>
您可以在后续页面请求中从同一服务器上的会话中检索数据。
完成会话后,请使用:session_destroy()