• 技术文章 >后端开发 >PHP问题

    php中post的用法是什么

    藏色散人藏色散人2020-10-29 09:50:57原创1896

    php中post方法的主要用途就是“传递”数据,它将数据放在所有请求标题的后面上传,使用代码语句如“<form action=”post.php” method=”post”>...”。

    推荐:《PHP视频教程

    $_POST数组

    GET方法的本意就是下载(与其对应的是上传方法PUT),因此并不是专门用于传递数据的,它将请求数据全部经过URL编码后缀在请求资源的后面,这样一来,当数据很多时URL就会变得很长——但这并不是问题的所在,问题所在是一些WEB浏览器或服务器程序会限制这行字符串的长度。这时,就需要用到 POST方法了。

    顾名思义,POST方法的主要用途就是“传递”数据,它将数据放在所有请求标题的后面上传,这样一来,无论有多少数据上传都不成问题了(这样请求数据的大小之取决于WEB服务允许的尺寸了)。通常来说,对于表单数据如无特别需要都使用POST方法来上传,这样就无须去关心具体上传数据的尺寸了。

    POST方法的请求数据被封装到了$_POST数组中,其使用方法与$_GET数组一样。将上面的表单添加一个method属性,就变成了这样:

    <!– post.php文件 –>
    <?php
    if($_POST['post']) {
    foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”;
    }
    ?>
    <form action=”post.php” method=”post”>
    <label for=”id”>账号:</label><input type=”text” name=”id”>
    <label for=”password”>密码:</label><input type=”text” name=”password”>
    <input type=”submit” name=”post” value=”提交”>
    </form>

    另一个有趣的设定是,GET方法和POST方法并不矛盾,在POST方法中同样可以传递GET变量,将上面的post.php文件稍微改动一下,就成了这样:

    <!– post.php文件 –>
    <?php
    if($_POST['post']) {
    foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”;
    foreach($_GET as $index = > $value) echo “$_GET[$index] = $value”, “<BR>”;
    }
    ?>
    <form action=”post.php?act=login” method=”post”>
    <label for=”id”>帐号:</label><input type=”text” name=”id”>
    <label for=”password”>密码:</label><input type=”text” name=”password”>
    <input type=”submit” name=”post” value=”提交”>
    </form>

    该程序同时处理了GET方法(act 参数)和POST方法(id 和 password 参数)的请求数据,GET方法的请求变量后缀在了表单action属性值的后面,这样只有一点问题,就是GET方法的请求变量不能由用户来输入。通常,固定的数据使用GET方法,由用户输入的数据使用POST方法来发送,两种方法区分开了不同逻辑的数据。不过读者在构建这种表单的时候,一定要注意两种方法不要有相同的变量名,否则将出现不可预料的后果。最后,需要注意的是,当使用GET方法发送数据时,则 <form>标签 action 属性值中不能包含查询字符串(即使包含也不会生效),所以,下面的表单中,act 参数将不能发送:

    <form action=”post.php?act=login” method=”get”>
    <label for=”id”>账号:</label><input type=”text” name=”id”>
    <label for=”password”>密码:</label><input type=”text” name=”password”>
    <input type=”submit” name=”post” value=”提交”>
    </form>

    应该改成下面的形式:

    <form action=”post.php” method=”get”>
    <label for=”id”>账号:</label><input type=”text” name=”id”>
    <label for=”password”>密码:</label><input type=”text” name=”password”>
    <input type=”submit” name=”post” value=”提交”>
    <input type=”hidden” name=”act” value=”login”>
    </form>

    以上就是php中post的用法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php post
    上一篇:php如何实现金额转大写 下一篇:php soap扩展安装方法
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 如何解决php ajax post 乱码问题• 如何解决php post传参数乱码问题• php中$_post是什么意思• 如何解决php post太慢的问题
    1/1

    PHP中文网