【问题标题】:Passing JavaScript Variable to PHP Session variable将 JavaScript 变量传递给 PHP 会话变量
【发布时间】:2011-06-12 05:53:22
【问题描述】:

当我通过下拉框更改选项时,我正在尝试更新/创建会话变量。 T该值存储在一个javascript函数中。 any1 可以告诉我如何在不使用 AJAX 请求的情况下将此变量传递给我的 PHP 会话变量。 谢谢

【问题讨论】:

  • 我个人只会在这个问题上使用 9 级 jquery。

标签: php javascript


【解决方案1】:

没有ajax?好的,

var img = new Image();
img.src = "script.php?myVal=" + encodeURIComponent(theValueToPass);

浏览器将尝试通过请求 url 来加载图像。显然这将是一个愚蠢的差事,但你的 php 脚本将被执行,并且 php 的 $_GET['myVal'] 中的值可用

【讨论】:

    【解决方案2】:

    你真的不能。

    会话数据随服务器改变,而 Javascript 只能改变客户端数据(如 cookie)。 但是,您可以通过创建一个新的 PHP 页面来创建解决方案,该页面在 GET/POST 请求中传递一个变量,然后更改会话。

    【讨论】:

      【解决方案3】:

      我能想到的唯一替代方法是使用 javascript 在 URL 中设置一个参数,稍后您可以使用 PHP 解释该参数,但这将是在另一个页面加载之后。

      http://www.mine.com/index.html?paramter=variable&anotherparam=anothervariable
      

      请参阅this post 了解实现此目的的方法

      编辑:我不认为这会达到你的第二个想法,但我会留下答案以防万一

      【讨论】:

      • 谢谢你的 4 个答案。但是使用 URL dere 是一个问题。实际上,当我从下拉框中选择选项时,URL 没有得到更新,因为整个页面正在使用多个 AJAX 请求,并且没有选择刷新页面,URL 没有得到更新。我认为剩下的唯一选择是 AJAX 请求。
      【解决方案4】:

      PHP 会话变量驻留在服务器上:

      http://www.w3schools.com/PHP/php_sessions.asp

      但 JavaScript 值仅在客户端。

      如果不使用 ajax,应该有一种将其发送到服务器的机制:尝试将此值保存到隐藏字段中,然后使用通常的 get/post 发送它。

      【讨论】:

        【解决方案5】:

        嗯,我认为,您可以通过在您的 javascript 中添加一个 cookie 值来做到这一点,并参考该 cookie 值在 NEXT PAGE REFERESH 上更新您的 php 会话。

        我还没有尝试过,我认为我们无法使用 javascript 从客户端更新会话。

        谢谢

        【讨论】:

          猜你喜欢
          • 2018-05-09
          • 1970-01-01
          • 1970-01-01
          • 2011-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-07
          相关资源
          最近更新 更多