如何将javascript生成的数据中的值保存到PHP变量?

时间:2011-10-26 03:49:03

标签: php javascript

与此相反:

<script>
document.getElementById("jscript_element").value = '<?=$php_variable?>';
</script>

有可能吗?

注意:不得使用Post / Get,因为脚本只会集成在onChange事件中,其余部分是历史记录。

提前致谢!

4 个答案:

答案 0 :(得分:2)

您必须使用Javascript将值写入输入,并在发布表单时记录该值,或使用AJAX将值发送到服务器进行处理。加载页面后,PHP就完成了,周期。

答案 1 :(得分:1)

我认为你的问题的答案在于解释两种类型脚本的顺序。

document.getElementById("jscript_element").value = '<?=$php_variable?>';

<? ?>标记中的任何内容都被服务器解释为PHP,然后写入页面。然后将完整的完整页面传输到客户端。 请注意,PHP仅在服务器上运行。

页面加载并呈现给客户端后,PHP代码就不存在了。要设置PHP变量,必须以某种方式将数据传回服务器。

您指定不能使用任何类型的帖子或获取。无论是通过表单操作同步还是通过AJAX异步,任何类型的通信都属于Post或Get类别。

所以,考虑到这一点:

  

可能吗?

没有

答案 2 :(得分:0)

虽然不能直接将javascript生成的数据设置为php变量,但如果需要,可以按照以下方法实现此目的。

获取您希望在php中可用的值后,将值存储在cookie中。

<script type="text/javascript">
generated_value=document.getElementById("jscript_element").value;
document.cookie="cookie_name="+generated_value;
</script>

然后在你的php脚本中只读取$ _COOKIE数组的值。

<?php $generated_value = $_COOKIE['cookie_name']; ?>

这将需要重新加载页面,但您将能够使用javascript生成的值。

答案 3 :(得分:0)

显然,在你的问题背后,服务器端操作和客户端操作之间存在混淆。

您应该阅读有关此主题的一些信息,例如:http://www.virtualshowrooms.co.za/articlepage.php?cp=101