【问题标题】:How do I assign a javascript variable to a PHP variable?如何将 javascript 变量分配给 PHP 变量?
【发布时间】:2010-09-14 12:41:03
【问题描述】:

我有一个 javascript 变量,其中包含一些信息,我希望将其分配到 PHP 变量中。这是我正在使用的:

<script type="text/javascript">
function redirectToFacebook()
{
    var facebookMessage = encodeURI(document.getElementById('txt_msg').value);
}
</script>

<?php
    $_SESSION['sess_facebook_message'] = facebookMessage;
?>

任何帮助都非常有用。

提前致谢

【问题讨论】:

  • 你这里有误会。 Javascript 在浏览器中运行,在 PHP 为文档提供服务很久之后,所以不可能像那样将变量从 JS 分配给 PHP。您需要解释您想要做什么,以便有人可以提出解决方法
  • 为什么不将变量发送到隐藏字段并使用 $_GET 或 $_POST 访问该字段?
  • 如何使用document.cookie?会这样吗?

标签: php javascript


【解决方案1】:

因为 PHP 在服务器上运行,而 JavaScript 在客户端运行,所以无法在 JavaScript 处理 PHP 会话变量后设置它,因为 PHP 甚至在页面发送之前就已经执行完毕。

不过……

如果您使用 JavaScript 向设置变量的 PHP 脚本发出请求(AJAX、imagehack 或其他方式),则可以。

例如...

JavaScript:

函数某事(){
    // 用 somevar 做一些事情
    somevar = '内容';
    // 向 setvar.php?value=content 发出 AJAX 请求
}

PHP:

$_SESSION['somevar'] = $_GET['somevar'];

不过,请确保您考虑到客户端生成数据的安全问题。

【讨论】:

    【解决方案2】:

    如果您想将变量从浏览器 (javascript) 传递到后端服务器 (PHP),您需要:

    1) 使用编码为 POST 或 GET 的 Javascript 参数加载新页面 2)异步调用PHP脚本(AJAX调用)编码参数为POST或GET

    使用 GET 请求的简单示例(您只需将参数附加到 URL):

    <script>
        window.location = '/some-url?' + document.getElementById('text_msg').value;
    </script>
    

    您可能希望将这段代码分配给按钮或其他东西......

    【讨论】:

      【解决方案3】:

      由于 API 限制,您尝试实现的目标是不可能的。它没有提供。

      【讨论】:

      • 好吧..好像我已经别无选择了。
      • Shampa ... php 变量的下一步是什么?有时我使用 javascript 设置隐藏 的值,这样可以更轻松地通过 POST 或 GET 使用表单或通过 AJAX 将该值发送到 PHP 脚本......只是一个想法。
      • 我看不出任何 API 与它有什么关系。
      【解决方案4】:

      也许您可以尝试使用 javascript 重定向并将变量从 php 传递给 js。他们的方式你真的它,它不能工作。

      可能是,我真的不舒尔 试试这个。

      <?php
      function redirectToFacebook() { 
      
      var facebookMessage = ?>
      <script>
          document.write(encodeURI(document.getElementById('txt_msg').value)); 
      </script>
      <?php
      }
      ?>
      

      或使用 cookie。

      【讨论】:

      • 抱歉,当 PHP 运行,然后发送页面,然后 JavaScript 运行时,这不会按预期工作。
      猜你喜欢
      • 2023-03-26
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多