扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
php直接用全局变量$_POST来接收post参数
10年积累的网站制作、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有武威免费网站建设让你可以放心的选择与我们合作。
比如:前端input name ="username" value="123" type="text"/
参数username通过post传参数到服务器,php以$_POST['username']来接收
1、首先安装配置php集成环境。以phpstudy为例。
2、在www目录下新建一个html文件(new1.html),和一个php(ab.php)文件。
3、html文件先引用所需的类库jquery文件,其次在body部分,以一个简单的表单提交为例。
4、html的javascript-ajax部分,以上步body中的cilik事件为例。
5、php文件的编写部分,主要使用$_POST来接受ajax传输的数据,并可以返回不同类型的数据。如echo结果或者json_encode转码成为json格式的数据返还给前端做处理。
6、结果展示:表单中的内容在提交后,无刷新展示了出来。
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数据
通常情况下用户使用浏览器网页表单向服务器post提交数据,我们使用PHP的$_POST接收用户POST到服务器的数据,并进行适当的处理。但有些情况下,如用户使用客户端软件向服务端php程序发送post数据,而不能用$_POST来识别,那又该如何处理呢?
我们介绍php接受post数据的三种方式:
1.$_POST方式接收数据
$_POST方式是通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。如使用$_POST[‘name’]就可以接收到网页表单以及网页异步方式post过来的数据,
即$_POST只能接收文档类型为Content-Type: application/x-www-form-urlencoded提交的数据,也就是表单POST过来的数据。
2.$GLOBALS[‘HTTP_RAW_POST_DATA’]方式接收数据
但$GLOBALS[‘HTTP_RAW_POST_DATA’]中是否保存POST过来的数据取决于centent-Type的设置,只有在PHP在无法识别的Content-Type的情况下,才会将POST过来的数据原样地填入变量$GLOBALS[‘HTTP_RAW_POST_DATA’]中,像Content-Type=application/x-www-form-urlencoded时,该变量是空的。
另外,它同样无法读取Content-Type为multipart/form-data的POST数据,也需要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变量$http_raw_post_data。
3.php://input方式接收数据
如果访问原始 POST 数据的更好方法是 php://input。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,包括二进制文件流也可以。php://input读取不到$_GET数据。是因为$
在php中,表单POST提交的数据是存放在$_POST变量中.$_POST变量是一个数组,它是一个以表单字段名作索引的数组.比如有以下表单:
form method="post"
p姓名:input type="text" name="name" value=""/p
p年龄:input type="text" name="age" value=""/p
pinput type="submit" value="提交"/p
/form
输入值后提交,按你的要求,在php层处理输出提交的内容,那么可以这样:
?php
echo '你的姓名是:'.$_POST['name'];//其中$_POST['name']中存放的是上面表单名为name的值
echo '你今年'.$_POST['age'].'岁';//其中$_POST['age']中存放的是上面表单名为age的值
?
如果字段内容很多,有时就可能需要循环处理.
foreach($_POST as $val){
echo $val;
}
或直接:
print_r($_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语句,然后在你需要的地方调用这个语句就行了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流