📜  表单动作 php (1)

📅  最后修改于: 2023-12-03 15:11:54.739000             🧑  作者: Mango

表单动作 PHP

PHP是一种在Web编程方面很有用的语言,特别是在表单处理方面。本文介绍表单动作PHP的一些基本概念和示例代码。

1. 表单动作是什么?

表单动作是指在提交HTML表单后,服务器处理表单数据的过程。在PHP中,表单动作通过将表单处理脚本设置为HTML表单的“动作”属性来完成。表单处理脚本收集并验证表单数据,将其存储在服务器端,然后将用户重定向到另一个页面,例如一个“感谢”页面。

2. 基本表单动作示例

以下是一个基本的表单处理例子。在这个例子中,我们使用php中的$_POST数组来处理表单数据,然后将其存储在一个数据库中。如果表单提交成功,将重定向到“感谢”页面。

<?php

//如果数据提交成功,进行数据库的连接与存储
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
    $email = $_POST["email"];
    $message = $_POST["message"];

    //进行数据库的连接
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    //创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);

    //检查连接是否成功
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }

    //在数据库中插入数据
    $sql = "INSERT INTO MyGuests (name, email, message)
    VALUES ('$name', '$email', '$message')";

    if ($conn->query($sql) === TRUE) {
       //重定向到“感谢”页面
       header('Location: thankyou.html');
       exit;
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

$conn->close();

}
?>

<html>
<body>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
  名字: <input type="text" name="name"><br>
  邮箱: <input type="text" name="email"><br>
  留言: <textarea name="message"></textarea><br>
  <input type="submit" name="submit" value="提交">
</form>

</body>
</html>
3. 表单验证

表单验证是验证表单数据是否有效的过程。当用户提交表单时,表单数据必须经过验证以确保其符合指定的验证规则。表单验证过程通常包括检查表单输入是否为空,检查输入是否符合指定的格式,以及检查输入是否包含意外的代码。

检查输入是否为空

表单输入不能留空的情况下,可以使用PHP中的empty()函数来检查是否为空。以下是一个检查姓名字段是否为空的例子代码:

if (empty($_POST["name"])) {
    $nameErr = "姓名是必填的";
} else {
    $name = test_input($_POST["name"]);
}
检查输入是否符合指定的格式

检查输入是否符合指定的格式,常常使用正则表达式。以下是一个检查电子邮箱地址是否符合指定格式的例子代码:

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailErr = "无效的 email 格式";
}
检查输入是否包含意外的代码

对于需要对输入码进行处理的情况下,可以使用PHP中的htmlspecialchars()函数。以下是一个将文本字段中的HTML字符转换为转义符的例子代码:

$text = "<h1>Hello!</h1>";
echo htmlspecialchars($text);
4. 总结

在PHP中,表单动作用于处理HTML表单提交的数据。本文提供了一个基本的表单动作示例和表单验证的概念,展示了如何在PHP中进行表单处理和验证。希望这些信息可以帮助您开始使用PHP处理表单数据。