如何使用jQuery AJAX $ .post存储PHP $ _SESSION变量?

救命!

我无法摔跤AJAX为我工作。 我有一个分页库,每个图像下面都有复选框,如果用户在页面之间移动,我需要将复选框值存储在会话变量中,因此当他们随时提交表单时,它将包括所有页面中的所有选中值。

我正在使用这个jQuery代码:

$(document).ready(function() { $(".gal-nav").click(function() { $.post("form-data-holder.php", $("#gallery-form").serialize()); }); }); 

和form-data-holder.php文件说:

 $value ) { if ( $key !== "submit" ) { $value = htmlentities(stripslashes(strip_tags($value))); $_SESSION[$key] = $value; } } ?> 

我有两个问题 –

1)如何从serialize()函数中获取复选框值? 我认为我需要做更多的事情,比如value []来取出那个数组,然后我想把每个存储作为一个单独的会话变量 – 除非我可以将数组存储为$ _SESSION变量?

2)在我搞乱之前,我添加了行$ _SESSION [‘saved’] =“true”; 到PHP脚本,然后我回应我的画廊页面上的$ _SESSION键和值,看看AJAX请求是否正常工作。 不是。 当我返回页面时,$ _SESSION [‘saved’]没有添加到echoed $ _SESSION变量列表中。

任何帮助将不胜感激!!

您需要在form-data-holder.php文件中调用session_start()。

每次进行ajax调用时,都会从服务器请求一个新的/新页面,该页面不知道原始页面中设置的任何变量。