php提交数据post,php发送数据

关于PHP中POST传递参数问题

将数据转换成 json 格式的字符串, 并通过 CURL 的 POST 的形式传递参数给服务端, 但是在服务端无法用 $_POST 获取到数据。后台用 $_POST 获取到的信息为空, 但是可以通过 $post = file_get_contents("php://input") 获取到请求的相关信息。

站在用户的角度思考问题,与客户深入沟通,找到西林网站设计与西林网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、网页空间、企业邮箱。业务覆盖西林地区。

Coentent-Type 的值为 application/x-www-data-urlencode 和 multipart/form-data 时, php才会将http请求数据包中的数据填进 $_POST 。

如果 POST 的原始数据是一维数组或拼接的标准格式的键值对字符串,那么可以用 $_POST 来获取。

如果要通过 file_get_contents 获取,这种情况下可以发送 json 字符串,用 json_encode 编码转换一下,或者使用 http_build_query 。

1、 区别 PHP 的 $_POST、$HTTP_RAW_POST_DATA 和 php://input

2、 accept 和 content-Type区别

3、 Http Header里的Content-Type

php 接收到之后post数据写入数据库

form表单demo:task.html

fieldset id="setFiled"

legend发布任务/legend

form action="registr.php" method="post" id="steForm"

label任务类型:/labelbr

input type="text" name="type"  id="taskType" placeholder="请选择任务类型"/br

label酬nbsp;nbsp;金:/labelbr

input type="number" name="money" id="forMoney" min="1" max="1000"/label元/labelbr

label截止时间:/labelbr

input type="datetime" name="time" id="timeSubmit"/span data-year="" data-month="" data-date="" id="showDate"/spanbr

label详细描述:/labelbr

textarea maxlength="512" name="textAray" id="msgArea"/textareabr

input type="submit" name="subMit" id="forSub" value="点击发布" /

/form

扩展资料

php接收POST数据的三种方式

1、$_POST 方式接受数据

$_POST 方式是由通过HTTP的POST方法传递过来的数据组成的数组,是一个自动全局变量。

注:只能接收Content-Type:application/x-www-form-urlencode提交的数据。也就是只能接收表单过来的数据。

2、GLOBLES[‘HTTP_RAW_POST_DATA’]

如果访问原始POST数据不是php能够识别的文档类型,比如:text/xml 或者soap等等,可以用$GLOBLES[‘HTTP_RAW_POST_DATA’]来接收,$HTTP_RAW_POST_DATA变量包含有原始POST数据。此变量仅在碰到未识别的MIME数据时产生。

注:$HTTP_RAW_POST_DATA对于enctype=”multipart/form-data”表单数据不可用,也就是说使用$HTTP_RAW_POST_DATA无法接受网页表单post过来的数据。

3、file_get_contents(“php://input”);

如果访问原始POST数据,更好的方法是使用file_get_content(“php://input”);对于未指定Content-Type的POST数据,可以使用该方法读取POST原始数据,包括二进制流也可以和$HTTP_RAW_POST_DATA比起来。它带来的生存眼里更小,并且不需要任何特殊的php.ini设置。

注:php://input不能用于 enctype=”multipart/form-data”

例如:$postStr = file_get_contents("php://input"); //获取POST数据

求助PHP如何POST提交数据

用PHP向服务器发送HTTP的POST请求,代码如下:

?php

/**    

* 发送post请求    

* @param string $url 请求地址    

* @param array $post_data post键值对数据    

* @return string    

*/    

function send_post($url, $post_data) {    

$postdata = http_build_query($post_data);    

$options = array(    

'http' = array(    

'method' = 'POST',    

'header' = 'Content-type:application/x-www-form-urlencoded',    

'content' = $postdata,    

'timeout' = 15 * 60 // 超时时间(单位:s)    

)    

);    

$context = stream_context_create($options);    

$result = file_get_contents($url, false, $context);             

return $result;    

}

使用的时候直接调用上面定义的send_post方法:

$post_data = array(

'username' = 'username',

'password' = 'password'

);

send_post('网址', $post_data);


当前文章:php提交数据post,php发送数据
标题来源:http://ybzwz.com/article/hocidh.html