jQuery单击事件来更改php会话变量
最好的办法是什么?
因为,正如我发现的那样(并且它完全有道理,只有在尝试过之后:p)你不能在javascripts条件下设置PHP变量。 (duurrhh)
我能想到的唯一解决方案是对处理会话变量的小型PHP文件进行AJAX调用
elm.click(function() { $.post("session.php", { "hints":"off" }); turnOffHints(); }
然后让session.php
处理设置新变量。
但是,只有在PHP中设置一个变量才能完成一个完整的http请求。
Javascript (jQuery)在客户端执行。
PHP及其会话机制在服务器端执行。
因此,要执行与PHP会话相关的任何操作, 您必须转到服务器 ,执行完整的HTTP请求 – 您不能留在客户端。
做一个Ajax请求是一种去服务器的方式 – 工作正常;-)
如果您想影响一些会话数据,那么您正在做的事情是确定的(实际上是必要的) :您没有太多选择,即使它感觉像某种浪费。
唯一的另一种选择是提出“常规请求”,但这将更加“浪费”。
或者也许您可以使用JavaScript设置cookie并在下一个请求进入时更改会话(您必须在每个请求时检查此cookie)…