跳转到内容

PHP 和 MySQL 编程/表单处理

来自维基教科书,开放世界中的开放书籍

为了在不使用命令行的情况下获取用户输入,您将使用 HTML 表单。 PHP 有各种函数和技术来处理来自 HTML 表单的输入。具体来说,我们将使用特殊的数组变量$_GET[]$_POST[].

HTML 表单

[编辑 | 编辑源代码]

在我们开始使用这些特殊变量之前,让我们看看如何设置 HTML 表单与 PHP 交互。这是一个简单的示例表单

 <html>
 <head><title>HTML Form Example</title></head>
 <body>
    <form method="POST" action="form_handler.php">
      username: <input type="text" name="username"> <br>
      password: <input type="password" name="password"> <br>
      <input type="submit" value="GO">
    </form>
 </body>
 </html>

上面的示例设置了一个带有 `method` 和 `action` 属性的表单。`method` 定义了表单中的数据如何传输到由 `action` 定义的页面。`method` 可以是 GETPOST。如果使用 GET,则所有表单元素将附加到目标页面的 url(由 `action` 属性指定),以 url 编码格式(`target?attrib1=val1&attrib2=val2&attrib3=val3` 等)。这些属性可以通过使用 `$_GET[]` 数组在 PHP 中轻松访问。

如果指定了 POST 方法,则数据将被放入一个特殊的服务器变量中,并通过使用内置的 `$_POST[]` 数组在 PHP 中访问。

请注意,在 HTML 代码中,INPUT 标签的 `name` 属性用作 `$_GET` 和 `$_POST` 数组中的引用字符串,因此始终为 `name` 属性使用唯一的值非常重要。

要在地址 url 中检索 `GET` 变量,我们使用以下方法

 $username = $_GET['username'];
 $password = $_GET['password'];
 echo "Username: $username \n Password: $password \n";

请注意,`GET` 不适合用于此示例,因为您通常不希望用户名和密码信息显示在 URL 中。相反,请将 POST 用于登录详细信息和身份验证。

要检索 `POST` 变量,我们使用以下方法

 $username = $_POST['username'];
 $password = $_POST['password'];
 print "Username: $username \n Password: $password \n";

请注意,当使用 `POST` 时,发布的数据对用户是完全不可见的。

进一步阅读

[编辑 | 编辑源代码]


华夏公益教科书