php $_POST获取html表单form数据教程
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-29 14:17:29 浏览: 评论:0
$_POST 变量用于收集来自 method=\"post\" 的表单中的值,从带有 POST 方法的表单发送的信息,对任何人都是不可见的,不会显示在浏览器的地址栏,并且对发送信息的量也没有限制.
先来看个最简单的实例,代码如下:
- <form action ="post.php" method ="post">
- Name: <input type="text" name="username" />
- <input type ="submit" value="ok" />
- </form>
如我输入你好,post.php文件代码如下:
You are <?php echo $_POST["username"]?>.
输出结果就是:You are 你好
那么post如何获取像单选按钮呢,实例代码如下:
- <form action = "radiopost.php" method = "post">
- <input type="radio" name="abcde" value = "Apple">Apple</input><br />
- <input type="radio" name="abcde" value = "Orange">Orange</input><br />
- <input type="radio" name="abcde" value = "Mango">Mango</input><br />
- <input type="submit" value="ok">
- </form>
radiopost.php文件,代码如下:
<?php echo $_POST["abcde"]?>
这样你选择那个就全出输那个的值,对于checkbox会有所不同,这个大家可以注意一下,代码如下:
- <form action = "checkboxpost.php" method = "post">
- <input type="checkbox" name="abcde[ ]" value = "Apple">Apple</input><br />
- <input type="checkbox" name="abcde[ ]" value = "Orange">Orange</input><br />
- <input type="checkbox" name="abcde[ ]" value = "Mango">Mango</input><br />
- <input type="submit" value="ok">
- </form>
checkboxpost.php文件,代码如下:print_r($_POST['abcde']);
输出的是个数组形式了.
注:通过 HTTP POST 发送的变量不会显示在 URL 中,变量没有长度限制.
$_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空
$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换.
php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据.
php://input 允许读取 POST 的原始数据,和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置,php://input 不能用于 enctype="multipart/form-data".
这里拓展一下post模拟方法,代码如下:
- <?PHP
- $flag = 0;
- //要post的数据
- $argv = array(
- 'var1'=>'abc',
- 'var2'=>'你好吗');
- //构造要post的字符串
- foreach ($argv as $key=>$value) {
- if ($flag!=0) {
- $params .= "&";
- $flag = 1;
- }
- $params.= $key."="; $params.= urlencode($value);
- $flag = 1;
- }
- $length = strlen($params);
- //创建socket连接
- $fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
- //构造post请求的头
- $header = "POST /mobile/try.php HTTP/1.1";
- $header .= "Host:127.0.0.1";
- $header .= "Referer:/mobile/sendpost.php";
- $header .= "Content-Type: application/x-www-form-urlencoded";
- $header .= "Content-Length: ".$length."";
- $header .= "Connection: Close";
- //添加post的字符串
- $header .= $params."";
- //发送post的数据
- fputs($fp,$header);
- $inheader = 1;
- while (!feof($fp)) {
- $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 //开源代码phpfensi.com
- if ($inheader && ($line == "n" || $line == "")) {
- $inheader = 0;
- }
- if ($inheader == 0) {
- echo $line;
- }
- }
- fclose($fp);
- ?>
Tags: $_POST获取表单 form表单数据
- 上一篇:php简单的日历程序代码
- 下一篇:PHP异步调用socket简单实例
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)