session是否会通过返回self.location而死亡?

Does session dies by going back through "self.location"?

本文关键字:location self 返回 是否 session      更新时间:2023-09-26

在我的酒店网站上,访问者搜索酒店(提供特定日期范围优惠的酒店)。如果他的搜索条件没有记录,那么他编辑他的搜索并再次搜索。当他编辑他的搜索时,他回到他之前输入的值必须预先填充的页面。我将这些值存储在会话中,但是当它返回时,会话丢失。

存在一个搜索表单search.php。点击'search.php'中的Search now按钮后,我进入search_result.php页面,通过POST值带来的数据在'search_result.php'的会话中设置。

search_result.php页面中有一个名为"Edit Ur search"的按钮。当我点击它时,它应该带我回到search.php,在会话中设置的值必须显示,搜索表单必须预先填充这些会话值。

search_result.php中,我在"Edit Ur search"按钮上的点击事件上调用edit_search()

function edit_search(){
    var url = "hotels.php";
    self.location = url;
}

但是当我返回search.php时,我丢失了会话值。是由于self.location清除会话吗?

我需要持久化所有这些会话值。我们欢迎任何其他方法来完成这个要求。

搜索表单为@ search.php页面。我在数据库中保存了搜索条件。当访问者单击搜索按钮并重定向到search_result.php时,我通过从数据库中获取数据来显示搜索条件。就这样我解决了我的问题。

这个问题也可以通过在任何其他页面中管理session_start()来解决,而不是在search.php和search_result.php中包含的connect_database.php中编写。

但是由于我的客户的另一个要求也是保存搜索标准以进一步改善网站,因此我遵循了前面提到的第一个选项。

因此,我通过"self"得出结论。"地理位置"并不是会议背后的原因。相反,在这两个关注点页面中写了两次session_start()才是导致这个问题的原因。谢谢 ...........