4.PHP-表单

作者: Reinelili | 来源:发表于2019-04-22 08:24 被阅读1次

    (1) PHP 表单处理

    表单,即用户要操作的诸如输入框,选择按钮等界面。
    PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。

    当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。

    实例
    下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮。form中的action处填写目的地址,如果为空则默认发给自己。本例form.html 文件代码如下:

    <html>
      <head>
        <meta charset="utf-8">
        <title>php中文网(php.cn)</title>
      </head>
      <body>
        <form action="welcome.php" method="post">
        名字: <input type="text" name="fname">
        年龄: <input type="text" name="age">
        <input type="submit" value="提交">
        </form>
      </body>
    </html>
    

    当用户填写此表单并点击提交按钮后,表单数据会发送到名为 "welcome.php" 的 PHP 文件供处理。表单数据是通过 HTTP POST 方法发送的。
    如需显示出被提交的数据,您可以简单地输出(echo)所有变量。"welcome.php" 文件是这样的

    欢迎 <?php echo $_POST["fname"]; ?>!<br>
    你的年龄是 <?php echo $_POST["age"]; ?>  岁。
    

    通过浏览器访问演示如下:

    html表单
    php显示

    使用 HTTP GET 方法也能得到相同的结果:

    实例

    <form action="welcome_get.php" method="get">
    Name: <input type="text" name="name"><br>
    E-mail: <input type="text" name="email"><br>
    <input type="submit">
    </form>
    

    运行实例

    "welcome_get.php" 是这样的:

    Welcome <?php echo $_GET["name"]; ?><br>
    Your email address is: <?php echo $_GET["email"]; ?>
    

    GET vs. POST

    GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value3, ...))。此数组包含键/值对,其中的键是表单控件的名称,而值是来自用户的输入数据。

    GET 和 POST 被视作 $_GET 和 $_POST。它们是超全局变量,这意味着对它们的访问无需考虑作用域 - 无需任何特殊代码,您能够从任何函数、类或文件访问它们。

    $_GET 是通过 URL 参数传递到当前脚本的变量数组。
    $_POST 是通过 HTTP POST 传递到当前脚本的变量数组。

    何时使用 GET?

    通过 GET 方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在 URL 中)。GET 对所发送信息的数量也有限制。限制在大于 2000 个字符。

    GET 可用于发送非敏感的数据。
    注释:绝不能使用 GET 来发送密码或其他敏感信息!

    何时使用 POST?

    通过 POST 方法从表单发送的信息对其他人是不可见的(所有名称/值会被嵌入 HTTP 请求的主体中),并且对所发送信息的数量也无限制。
    此外 POST 支持高阶功能,比如在向服务器上传文件时进行 multi-part 二进制输入。
    提示:开发者偏爱 POST 来发送表单数据。
    接下来让我们看看如何安全地处理 PHP 表单!

    (2) PHP 表单验证

    表单验证非常非常非常重要!

    相关文章

      网友评论

        本文标题:4.PHP-表单

        本文链接:https://www.haomeiwen.com/subject/kndfgqtx.html