php处理post
Ⅰ php中post与get的区别,能说详细些吗
对于PHP代码,POST和GET调用的处理方式基本上是一样的,没有什么区别,只是获得参数的变量分别使用$_POST和$_GET而已。
浏览器调用网页有POST和GET两种方式,GET要把调用的参数显示在浏览器地址上,所以参数的总长度也有限,POST参数通过FORM传递,不会被显示到浏览器地址栏,而且没有长度限制。
Ⅱ PHP中怎样发送post请求并获取网页
$post='POST数据';
//初始化
$curl=curl_init('URL');
$header=array();
$header[]='User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/42.0.2311.90Safari/537.36';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不输出header头信息
curl_setopt($curl,CURLOPT_HEADER,0);
//保存到字符串而不是输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post数据
curl_setopt($curl,CURLOPT_POST,1);
//请求数据
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
//是否抓取跳转后的页面
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;
Ⅲ $.post 发送数据 php端如何接收并进行处理。
我现在用的是将get_magic_quotes_gpc()、addslashes()等都封装在一个过滤函数中,但是对于$post的变量还是要分别进行处理,因为并不是所有的$post变量都需要处理入库 !
Ⅳ php接收POST数据并循环输出的代码
在php中,表单POST提交的数据是存放在$_POST变量中.$_POST变量是一个数组,它是一个以表单字段名作索引的数组.比如有以下表单:
<formmethod="post">
<p>姓名:<inputtype="text"name="name"value=""></p>
<p>年龄:<inputtype="text"name="age"value=""></p>
<p><inputtype="submit"value="提交"></p>
</form>
输入值后提交,按你的要求,在php层处理输出提交的内容,那么可以这样:
<?php
echo'你的姓名是:'.$_POST['name'];//其中$_POST['name']中存放的是上面表单名为name的值
echo'你今年'.$_POST['age'].'岁';//其中$_POST['age']中存放的是上面表单名为age的值
?>
如果字段内容很多,有时就可能需要循环处理.
foreach($_POSTas$val){
echo$val;
}
或直接:
print_r($_POST);
当然处理或输出的格式很多,以上只是一个示例.
Ⅳ 用php做个post提交
看来楼主的截图,写的纯粹的对curl的运用,个人写个简化版的!!
$curl是接口页面。。。作用是取数据然后传递给本页面!!这个页面不是来源页面,只是一个接口文件而已!!如果你连这个页面都不想要,那就只能在本页面自己填写获取数据的代码了!!也就不用使用到post数据了!!
$post_val是post提交所需的数据,如果为空,那就是get获取数据,也就是说$curl要自带参数,这个要看你接口页面的程序所定了!!
例子:
1.php
$b = $_GET['k'];
//这边获取的就是2.php抛出来的数据。。。
$get_value = curl_file_get_contents(‘2.php’,"ct=28&lm=0&word=".$b."&co=23");
var_mp($get_value);//这边就是你想要的代码。。随便你怎么处理了!!
//这个是curl的精简版。。。不用那么多代码
function curl_file_get_contents($curl,$post_val="")
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
if($post_val)
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_val);
}
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
2.php(接口文件,也相当于把方法写在另一个文件,通过url调用此方法并回传值给1.php!!多用于2个文件不在同一程序内,引用(include)不了,又懒得自己再写个方法,从而通过这种方法获取,比如说淘宝接口)
$get_key = $_POST['word']; //这边就指明了只用能post方式获取数据
..................(这边就是通过获取的$get_key来获取数据,并赋值与$value)......
return $value; //这边把数据抛给1.php(谁调用接口的就抛给谁)
这样写的好处是,假如获取$value的代码很长,这样写可以减少代码量!!不在同一个服务器或者框架下面的程序也可以调用。。。。(同一个框架下的代码可以用include引入进来!!)
先写到着吧!!!还有不懂的可以自己网络下或者追问。。我看到了会继续回答的!!
Ⅵ 求助PHP如何POST提交数据
用PHP向服务器发送HTTP的POST请求,代码如下:
<?php
/**
*发送post请求
*@paramstring$url请求地址
*@paramarray$post_datapost键值对数据
*@returnstring
*/
functionsend_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的配置文件里,有一个开关叫做:register_globals,如果是on,则post提交以后,直接用$字段,就可以取到post的值了,出于安全性考虑,这个开关在新版的php里默认是关闭的,当这个开关是关闭的时候,你可以用以下的代码来模拟这个效果:
if(!ini_get('register_globals')){
extract($_POST);
extract($_GET);
}
Ⅷ PHP如何处理jquery post过来的$serialize数据
如果你使用jquery的form表单中serialize提交数据到后台,例如:$('#form').serialize()。在php处理端你不用任何处理,跟普通的from提交一样,使用$_GET[‘varname’]或$_POST[‘varname’]就能取到数据。
jquery里form的serialize实际是只是把表单中的数据组装成"varname=val&var2=val2"这种样子,看到这个你应该知道PHP端不需要处理了吧。
Ⅸ php获取post数据
方法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
类型的数据时产生。
$http_raw_post_data
对于
enctype="multipart/form-data"
表单数据不可用
如果post过来的数据不是php能够识别的,可以用
$globals['http_raw_post_data']来接收,
比如
text/xml
或者
soap
等等
解释:
$globals['http_raw_post_data']存放的是post过来的原始数据。
$_post或$_request存放的是
php以key=>value的形式格式化以后的数据。
但$globals['http_raw_post_data']中是否保存post过来的数据取决于centent-type的设置,即post数据时
必须显式示指明content-type:
application/x-www-form-urlencoded,post的数据才会存放到
$globals['http_raw_post_data']中
Ⅹ php 怎么POST获取数据
方法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 类型的数据时产生。
$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用
如果post过来的数据不是PHP能够识别的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,
比如 text/xml 或者 soap 等等
解释:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以后的数据。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时 必须显式示指明Content-Type: application/x-www-form-urlencoded,POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中