区别 | POST | GET |
---|---|---|
生成方式 | 1. 直接在 URL 地址栏中输入 URL;2. 网页中的超链接;3. form 表单中的 method 为 get;4. form 中的 method 为空,默认是 get 方式提交数据 | form中的method属性为 post |
数据传送方式 | 表单数据存放在 URL地址后面,所有 get 方式提交时,HTTP 中没有消息体 | 表单数据存放在 HTTP 协议中的消息体中以实体的方式传送到服务器 |
服务器获取方式 | 服务器采用 request.QueryString 来获取变量的值 | 服务器采用 request.FORM 来获取数据 |
数据传输量 | 长度有限制,一般不超过2kb | 适合大规模的数据传送,因为是以实体的方式传送的 |
安全性 | 差,因为直接显示在地址栏中 | 高,是将表单中的字段与值放置在 HTTP HEADER 内,一起传送到 action 所指的 URL 中,用户看不见 |
用户刷新时 | 无任何提示 | 会弹出提示框,询问用户是否重新提交 |
总结:
get 方式 :URL 改变,安全性差,适合小数据传输
post 方式:URL 不变,安全性高,适合大数据量的传输
$_GET
、$_POST
和$_REQUEST
$_GET — HTTP GET 变量
$_POST — HTTP POST 变量
$_FILES — HTTP 文件上传变量
$_REQUEST — HTTP Request 变量
$_GET
:
用来获取由浏览器通过GET方法提交的数据。GET方法他是通过把参数数据加在提交表单的action属性所指的URL中,值和表单内每个字段一一对应,然后在URL中可以看到
$_POST
:
用来获取由浏览器通过POST方法提交的数据。POST方法他是通过HTTP POST机制,将表单的各个字段放置在HTTP HEADER内一起传送到action属性所指的URL地址中,用户看不到这个过程
$_REQUEST
:
php中$_REQUEST
可以获取以POST方法和GET方法提交的数据,但是速度比较慢
$_REQUEST
、$_POST
、$_GET
的区别和联系
$_REQUEST["参数"]
具有$_POST["参数"]
$_GET["参数"]
的功能,但是$_REQUEST["参数"]
比较慢。通过post和get方法提交的所有数据都可以通过$_REQUEST数组["参数"]
获得
如:
$action = $_REQUEST['action'];
$result['cid'] = $_REQUEST['cid'];
$didarr = $_REQUEST['did'];
post传值 用于HTML 的 <form>
表单
<form action="cms_all_operation.php" method="post">
<tr>
<td >
<input type="text" name="cate_name">
<input type="hidden" name="cid" value="<?php echo $cid;?>">
<input type="submit" name="action" value="添加栏目">
</td>
<td>
<select name="deletecate" >
<?php
$rs_child = CMS::getCateList($cid);
$num_child = count($rs_child);
if ($num_child > 0) {
for ($i=0; $i < $num_child; $i++) {
echo "<option value=".$rs_child[$i]['id'].">".$rs_child[$i]['name']."</option>";
}
} else {
echo "<option value=".$cid.">".$cname."</option>";
}
?>
</select>
<input type="submit" value="删除栏目" name="action">
</td>
</tr>
form 的 action 属性表示的是跳转页面的url路径,method 属性的值自然是 post,form表单中的提交按钮按下后,就会把form中有name的内容都传到填入的url中,可以通过$_POST['xxx']来获取。
如:
$cate_name = $_POST['cate_name'];
GET传值是通过跟随url传递的,在页面跳转时,跟着url跳转。常用于<a>
标签的使用。例如:
<a href= <?php echo "document_items.php?id=".$id; ?> >
<?php echo $info['data']['name']; ?>
跳转进入xxx.php
后,就能通过$_GET['id']
获取传递的值。GET方法常用于URL的目的是删除或读取某个id的php文件。
相关文章推荐: