一切都很好问题是会话变量在重定向时为空!我尝试了各种不同的东西,但没有用。我不知道我做错了什么导致会话被清空。我怀疑问题出在重定向到B页的JQuery上。
页面JQuery和会话代码
<?php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
if(isset($_REQUEST['fs'])){
$randval = substr(md5(microtime()),rand(0,26),5);
session_start();
$_SESSION['rref'] = $randval;
//some other code that works fine
}}
?>
<form method="REQUEST" id="form" name="form" class="aj">
//some fields and codes
<input type="hidden" name="fs" value="fs" id="fs" >
<input type="submit" value="Reserve" id="btn-form-valid" style="text-align: center; font-weight: bold;" onclick="jQuery('.aj').parsley('validate');">
</form>
<script>
jQuery(function() {
jQuery('.aj').submit(function(e) {
e.preventDefault();
if ( jQuery(this).parsley().isValid() ) {
jQuery.ajax({
type: "post",
data: jQuery(".aj").serialize(),
success: function (data) {
window.location.assign("http://location");
}
,
beforeSend: function() {
}
}
});
});
</script>
第B页代码
<?php
session_start();
$x = $_SESSION['rref'];
echo $x;
//nothing is returned
?>
我试图寻找有类似问题但没什么用处的人。
答案 0 :(得分:0)
尝试将session_start放在开头:
<?php
session_start();
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
if(isset($_REQUEST['fs'])){
$randval = substr(md5(microtime()),rand(0,26),5);
$_SESSION['rref'] = $randval;
//some other code that works fine
}
}
?>