php传值

阅读数:1207 发布时间:2016-06-27 08:21:47

作者:zzl005 标签: php 传值

HTML POST 和 GET

区别 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 不变,安全性高,适合大数据量的传输

php 中的三个预定义变量

$_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传值

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传值

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文件。

相关文章推荐: