你能用javascript来改变php会话变量吗?

时间:2016-03-06 09:00:49

标签: javascript php

我有一个php数据库驱动的网站,我想实现一个功能,导航栏上有一个部分,显示网站上访问过的网页(及其网址)的历史记录。我计划使用$_SESSION数组来存储此列表。

这应该很容易,但我还希望在每个历史记录条目旁边都有一个删除按钮,以便用户可以从历史记录栏中删除页面。这样做的问题是,要更新$_SESSION数组并删除该条目,它将需要重新加载页面,如果用户位于搜索结果页面等页面上,则会出现错误,因为页面生成依赖于提交的表单。其他页面上还会有其他此问题的例子。

我宁愿不必将搜索等存储在会话变量中以解决这个问题所以想知道是否会有某种方式使用javascript删除历史记录栏上的条目然后以某种方式更新php会话当用户导航离开或刷新页面时,来自javascript的变量...但我不确定js如何改变php会话变量。这有用还是有另一种解决方案?

2 个答案:

答案 0 :(得分:2)

您可以按照以下步骤操作:

  1. PHP文件进行ajax调用,并销毁与用户访问过的网页历史相关的SESSION个变量。

  2. ajax成功后,隐藏/删除HTML元素或使用JavaScript在网页上显示网页历史记录网址的容器。

  3. 由于您的搜索页面取决于POST值,因此可确保清除用户的页面历史记录,而无需刷新页面。当用户导航到其他链接时,页面将重新加载,用户将无法获得旧链接。

    希望这有帮助!

答案 1 :(得分:1)

你可以使用AJAX,例如,如果你按下注销按钮,ajax会向服务器端发送信息,但php将完成破坏该会话的所有工作。在stackoverflow上有很多ajax的例子。

相关问题