免责声明

易百易数码科技

php接收不到formdata数据怎么解决(php接收不到post数据)

php获取不到post方式提交的数据

你把表单form的提交方法method从POST换成GET,你就能在URL清楚地看到每次提交的内容了,这样更方便新手理解.不过你也可以在浏览器提供的F12开发者工具的网络里查看到请求的GET/POST/请求头等信息.

PHP是HTML预处理器,浏览器首次加载test.php页面,服务器PHP其实并没有拿到用户提交的数据,也就是首次访问生成的HTML页面里的内联JS代码里的alert()是没有用户数据的,在你提交表单后才有,所以会出现你说的"页面JS总是获取到前一次请求的值".

php接收不到formdata数据怎么解决(php接收不到post数据)-图1

最后再说个安全性问题,你的代码中,$_POST['one']是一个用户输出的数据,在你把用户输入的数据输出到页面上时,需要注意防御XSS注入,防御方法如下:

如果你是把用户输入的数据输出到

HTML上下文

如果你是把用户输入的数据输出到

JS上下文

php接收不到formdata数据怎么解决(php接收不到post数据)-图2

不过个人还是建议分离JS跟PHP,也就是PHP不要直接输出内容赋值给JS,这样JS代码可以单独放到一个JS文件里.

JS可以这样拿到传统表单提交里的数据并进行AJAX提交,以jQuery为例,将传统form表单提交轻松改造为AJAX提交:

thinkphp 怎么获取动态表单的数据 volist

动态生成的表单中标签有特定的name属性,是可以和在php中生成的标签使用一样的获取方式的

php接收不到formdata数据怎么解决(php接收不到post数据)-图3

在ThinkPHP中,可以使用`volist`标签来循环输出动态表单的数据。
首先,确保你的动态表单数据已经存储在数据库中。接下来,在你的控制器中,获取动态表单的数据。
```php
// 获取动态表单数据
$formData = M('form')->select();
// 将数据赋值到模板变量
$this->assign('formData', $formData);
// 渲染模板
$this->display();
```
然后,在你的模板文件中,使用`volist`标签来循环输出动态表单的数据。
```html
<ul>
<volist name="formData" id="data">
<li>{$data.name}: {$data.value}</li>
</volist>
</ul>
```
在上面的示例中,假设表单数据包含`name`和`value`字段,我们使用`volist`标签来循环输出每个字段的值。
请根据你的实际情况修改代码,确保正确地获取和输出动态表单的数据。

form表单中的enctype=""multipart/form-data""什么意思

enctype就是encodetype翻译成中文就是编码类型的意思!multipart/form-data是指表单数据有多部分构成:既有文本数据,又有文件等二进制数据的意思。 另外需要注意的是:默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据。 对于文件上传工作,其实是在前端完成的,即,在php,java等语言处理之前,文件其实就已经被上传到服务器了,服务器脚本语言的作用不过是将这些临时文件持久化而已!

到此,以上就是小编对于php接收不到post数据的问题就介绍到这了,希望介绍的3点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

分享:
扫描分享到社交APP
上一篇
下一篇