html php获取post数据格式,php $_POST获取html表单form数据教程

本文详细介绍了PHP中$_POST变量的应用,包括如何使用POST方法发送表单数据,并提供了具体实例,如处理单选按钮和复选框等。此外还探讨了如何通过PHP模拟POST请求。

$_POST 变量用于收集来自 method=\"post\" 的表单中的值,从带有 POST 方法的表单发送的信息,对任何人都是不可见的,不会显示在浏览器的地址栏,并且对发送信息的量也没有限制.

先来看个最简单的实例,代码如下:

Name: 

如我输入你好,post.php文件代码如下:

You are <?php echo $_POST["username"]?>.

输出结果就是:You are 你好

那么post如何获取像单选按钮呢,实例代码如下:

Apple

Orange

Mango

radiopost.php文件,代码如下:

这样你选择那个就全出输那个的值,对于checkbox会有所不同,这个大家可以注意一下,代码如下:

Apple

Orange

Mango

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模拟方法,代码如下:

$flag= 0;

//要post的数据

$argv=array(

'var1'=>'abc',

'var2'=>'你好吗');

//构造要post的字符串

foreach($argvas$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)orexit($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);//去除请求包的头只显示页面的返回数据              //开源代码vcphp.com

if($inheader&& ($line=="n"||$line=="")) {

$inheader= 0;

}

if($inheader== 0) {

echo$line;

}

}

fclose($fp);

?>

(责任编辑:最模板)

<?php // 页面加载时生成随机4位数字 $user_code = rand(1000, 9999); ?> <?php // 数据库连接信息 $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "honey_teach"; // 创建数据库连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 处理表单提交 if ($_SERVER["REQUEST_METHOD"] == "POST") { // 获取表单数据 $Form_username = $_POST['username']; $Form_password = $_POST['userpass']; $Form_confirm_password = $_POST['userpass']; // 这里确认密码和密码字段名一样,实际使用时可能需要修改 $Form_email = $_POST['email']; $Form_phone_number = $_POST['iphone']; $Form_verification_code = $_POST['yzm']; // 防止 SQL 注入 $Form_username = $conn->real_escape_string($Form_username); $Form_password = $conn->real_escape_string($Form_password); $Form_confirm_password = $conn->real_escape_string($Form_confirm_password); $Form_email = $conn->real_escape_string($Form_email); $Form_phone_number = $conn->real_escape_string($Form_phone_number); $Form_verification_code = $conn->real_escape_string($Form_verification_code); // 插入数据数据$sql = "INSERT INTO username (Form_username, Form_password, Form_confirm_password, Form_email, Form_phone_number, Form_verification_code) VALUES ('$Form_username', '$Form_password', '$Form_confirm_password', '$Form_email', '$Form_phone_number', '$Form_verification_code')"; if ($conn->query($sql) === TRUE) { echo "注册成功"; } else { echo "注册失败: " . $conn->error; } } // 关闭数据库连接 $stmt->close(); $conn->close(); ?> <!doctype html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>"花公子"蜂蜜网站-注册</title> </head> <body> <form method="post" action=""> <label>用户名:</label><input type=text name=username><br> <label>密   码:</label><input type=password name=userpass><br> <label>确认密码:</label><input type=password name=userpass><br> <label>电子邮箱:</label><input type=text name=email><br> <label>电话号码:</label><input type=text name=iphone><br> <label>验证码:</label><input type=text name=yzm><?php echo"$user_code"?><br> <input type="submit" name=tj><input type="reset" name=cz><br> </form> </body>
最新发布
10-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值