Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript生成的数据中的值保存到PHP变量?_Php_Javascript - Fatal编程技术网

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

如何将javascript生成的数据中的值保存到PHP变量?,php,javascript,Php,Javascript,与此相反: <script> document.getElementById("jscript_element").value = '<?=$php_variable?>'; </script> document.getElementById(“jscript_元素”)。值=“”; 可能吗 注意:不能使用Post/Get,因为脚本将只集成在onChange事件中,其余部分是历史记录 提前谢谢 我认为你问题的答案在于这两种脚本的解释顺序 document.

与此相反:

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

document.getElementById(“jscript_元素”)。值=“”;
可能吗

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


提前谢谢

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

document.getElementById("jscript_element").value = '<?=$php_variable?>';
document.getElementById(“jscript_元素”).value='';
服务器将
标记中的任何内容解释为PHP,然后写入页面。然后将此完整页面传输到客户端。请注意,PHP仅在服务器上运行

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

您指定不能使用任何类型的Post或Get。无论是通过表单动作同步还是通过AJAX异步,任何类型的通信都属于Post或Get的范畴

因此,考虑到这一点:

可能吗


否。

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

尽管无法直接将javascript生成的数据设置为PHP变量,但如果需要,您可以按照以下方法实现此目的

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

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

生成的元素值=document.getElementById(“jscript元素”).value;
document.cookie=“cookie\u name=“+生成的\u值;
然后在php脚本中,只需从$\u COOKIE数组中读取值

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


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

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


你应该阅读一些关于这个主题的信息,比如这篇文章:。

他指定了“Post/Get不能使用”。AJAX帖子不是仍然是帖子吗?@Michael:我想他指的是我提出的前一个选项(作为一个选项值得注意),即有一个表单action=“Post/Get”,这意味着用户离开了当前的历史轨迹。虽然AJAX调用使用POST或GET方法,但用户会维护其当前页面负载,这就是为什么首先使用AJAX的原因。