,postdata是什么意思?

用户投稿 109 0

关于“php_post_data”的问题,小编就整理了【4】个相关介绍“php_post_data”的解答:

postdata是什么意思?

方法1、最常见的方法是:$_post['fieldname'];

说明:只能接收content-type:application/x-www-form-urlencoded提交的数据

解释:也就是表单post过来的数据

方法2、file_get_contents("php://input");

说明:

允许读取post的原始数据。

和$http_raw_post_data比起来,它给内存带来的压力较小,并且不需要任何特殊的php.ini设置。

php://input不能用于enctype="multipart/form-data"。

解释:

对于未指定content-type的post数据,则可以使用file_get_contents(“php://input”);来获取原始数据。

事实上,用php接收post的任何数据都可以使用本方法。而不用考虑content-type,包括二进制文件流也可以。

所以用方法二是最保险的方法

方法3、$globals['http_raw_post_data'];

说明:

总是产生$http_raw_post_data变量包含有原始的post数据。

此变量仅在碰到未识别mime类型的数据时产生。

php如何定义一个接收表单的数据?

 PHP中,用于接收表单数据的函数有三种:_GET['表单元素名']、_POST['表单元素名']和_REQUEST['表单元素名'],其中_GET只接收提交方式为get的表单数据,_POST只接收提交方式为post的表单数据,而_REQUEST可以同时接收两种提交方式的表单数据。

  接收时,_POST['表单元素名']必须与前面HTML页面中的表单元素名一致方能顺利接收。

php用curl的post方法传递json包的时候,接受方是怎么获取的呢?

假设POST的数据为:{"data":"abc"}

POST参数为:data

同样以PHP为例,接受并处理请求的相关代码如下:

1234567891011121314<?php extract($_POST); // 将数组中的key摊成变量,并导入key对应的值 if (!empty($data)){ $data = json_decode($data); // json 字符串解码成 json 数据 var_dump($data); // 打印 json 数据 // 输出结果 object(stdClass)[1] public 'data' => string 'abc' (length=3)}

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

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

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

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

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

HTML上下文

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

JS上下文

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

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

可见HTML传统表单并不需要修改,JS代码里也没有混有PHP代码,编程逻辑就清晰多了.

到此,以上就是小编对于“php_post_data”的问题就介绍到这了,希望介绍关于“php_post_data”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!