【发布时间】:2011-06-12 05:53:22
【问题描述】:
当我通过下拉框更改选项时,我正在尝试更新/创建会话变量。 T该值存储在一个javascript函数中。 any1 可以告诉我如何在不使用 AJAX 请求的情况下将此变量传递给我的 PHP 会话变量。 谢谢
【问题讨论】:
-
我个人只会在这个问题上使用 9 级 jquery。
标签: php javascript
当我通过下拉框更改选项时,我正在尝试更新/创建会话变量。 T该值存储在一个javascript函数中。 any1 可以告诉我如何在不使用 AJAX 请求的情况下将此变量传递给我的 PHP 会话变量。 谢谢
【问题讨论】:
标签: php javascript
没有ajax?好的,
var img = new Image();
img.src = "script.php?myVal=" + encodeURIComponent(theValueToPass);
浏览器将尝试通过请求 url 来加载图像。显然这将是一个愚蠢的差事,但你的 php 脚本将被执行,并且 php 的 $_GET['myVal'] 中的值可用
【讨论】:
你真的不能。
会话数据随服务器改变,而 Javascript 只能改变客户端数据(如 cookie)。 但是,您可以通过创建一个新的 PHP 页面来创建解决方案,该页面在 GET/POST 请求中传递一个变量,然后更改会话。
【讨论】:
我能想到的唯一替代方法是使用 javascript 在 URL 中设置一个参数,稍后您可以使用 PHP 解释该参数,但这将是在另一个页面加载之后。
http://www.mine.com/index.html?paramter=variable&anotherparam=anothervariable
请参阅this post 了解实现此目的的方法
编辑:我不认为这会达到你的第二个想法,但我会留下答案以防万一
【讨论】:
PHP 会话变量驻留在服务器上:
http://www.w3schools.com/PHP/php_sessions.asp
但 JavaScript 值仅在客户端。
如果不使用 ajax,应该有一种将其发送到服务器的机制:尝试将此值保存到隐藏字段中,然后使用通常的 get/post 发送它。
【讨论】:
嗯,我认为,您可以通过在您的 javascript 中添加一个 cookie 值来做到这一点,并参考该 cookie 值在 NEXT PAGE REFERESH 上更新您的 php 会话。
我还没有尝试过,我认为我们无法使用 javascript 从客户端更新会话。
谢谢
【讨论】: