php获取post请求参数
‘壹’ php中如何获取post的请求包的原始内容
$_POST['fieldname'];
file_get_contents("php://input");
$GLOBALS['HTTP_RAW_POST_DATA'];
‘贰’ PHP 后台怎么接收post请求的参数
PHP 后台怎么接收post请求的参数
HTML接收后台传过来的值,从后台传过来的值,我可以理解为就是从数据库中调取过来的,还有也是是理解成是另外一个html中传过来的值,这里我用PHP来说明这个:
php接收值可以通过GET\post主要的方式,在一个网页中我写一个表单,然后传过去;
<form action="register.php" method="post">
<p class="reg">
<font>用 户 名:</font>
<input type="text" value="" name="username" />
</p>
<p class="reg">
<font>密 码:</font>
<input type="password" value="" name="password" />
</p>
</form>
session_start();这个是一定开启的不然是无法接受传过来的值的,
if(!isset($_POST['password']) || trim($_POST['password'])==''){
$message = "密码无效";
}
这个函数就是来验证传过来的值,是否传了,还有空也是不行的,
如果是从数据库中取值的话,那就需要写sql语句,然后在你需要的地方调用这个语句就行了。
‘叁’ php模拟post请求,获取不到数据
这个问题我没见过,很感兴趣
类似的问题我见过一些。您是不是还上传了什么东西,然后请你把上传上限复原,如果就是两个字符串的话不用那么大。如果提示你大小出现问题就是别的问题了
修改配置的话,记得重启Apache
然后我的解决方法就是,把代码删除,重打一遍
只是传两个字符串我不信不好使
还有一个很恶心的问题,缓存
如果再不行就去重新建一个文件测试下。
‘肆’ php post 过来的网址取出参数
<?php
function n(){
echo '<br />';
}
echo $_POST[url];
n();
echo $_POST[id];
n();
echo $_POST[];
n();
echo '其实POst里面只要填写空间的name就ok了。当然也可以输出post所有的数组';
n();
print_r($_POST);
echo $_SERVER['HTTP_REFERER'];
$tmp = explode("?",$_POST[url]);
n();
echo $tmp;
$tmp = explode("?",$tmp[1]);
print_r($tmp);
n();
$tmp = explode("&",$tmp[0]);
print_r($tmp);
n();
$tmp = explode("=",$tmp[0]);
print_r($tmp);
echo $tmp[1];
?>
要注意的是,因为是示例,我省去了下标检查,因为我知道他们有几个数组,实际操作的自己添加下表检查功能。
好了,上面是php脚本,下面是post表单页面
<form action="1.php" method="post">
<input name="url" value=".com/?id=123&=456" >
<input name="id" value="" >
<input name="" value="" >
<input type="submit" value="确定"/>
</form>
‘伍’ php 怎么post get方法的参数
先获取get方法传过来的值,分配到模板中
在模板中用一个隐藏域存放这个变量的值
提交的时候就可以获取到post过来的隐藏域的值,也就是分配过来的get参数的值;
‘陆’ 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']中
‘柒’ 如何取得post请求的数据
PHP获取POST数据的几种方法:
方法1、最常见的方法是:$_POST['fieldname'];
说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据。
方法2、file_get_contents("php://input");
说明:
允许读取 POST 的原始数据。
和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。
php://input 不能用于 enctype="multipart/form-data"。
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
说明:
总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。
此变量仅在碰到未识别 MIME 类型的数据时产生。
‘捌’ php如何获得http post的数据
在PHP段直接用$_POST这个全局数组来获取,也可以通过$_REQUEST来获取值
‘玖’ php函数里面怎么获取post过来的值
使用$_POST获取post得到的值。
$post_data=$_POST;//获取所有的POST数据,是一个数组
$field=$_POST['name'];//根据html中的name值得到某一项具体的值
‘拾’ 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']中