php表单怎么提交数据库
时间 : 2023-03-28 19:38:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 PHP 中,将表单数据提交到数据库通常需要执行以下步骤:

1. 连接数据库

使用 PHP 内置的 `mysqli` 或者 `PDO` 扩展函数,连接到数据库服务器。通常需要提供数据库服务器的地址、用户名、密码和数据库名称等信息。

```php

// mysqli 连接数据库

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

$conn = mysqli_connect($servername, $username, $password, $dbname);

// PDO 连接数据库

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

2. 处理表单数据

使用 `$_POST` 超全局变量获取表单数据,并进行数据格式验证和安全处理。可以使用 PHP 内置的过滤器函数对表单数据进行过滤和验证,例如 `filter_var` 函数、`preg_match` 函数等。

```php

// 获取表单数据

$name = $_POST['name'];

$email = $_POST['email'];

$phone = $_POST['phone'];

// 过滤和验证数据

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

echo "Invalid email format";

}

if (!preg_match("/^[0-9]{3}-[0-9]{4}-[0-9]{4}$/", $phone)) {

echo "Invalid phone format";

}

3. 编写 SQL 语句

根据表单数据,编写 SQL 语句来向数据库中插入数据。可以使用 `INSERT INTO` 语句向数据库中插入数据。

```php

// 编写 SQL 语句

$sql = "INSERT INTO customers (name, email, phone) VALUES ('$name', '$email', '$phone')";

4. 执行 SQL 语句

将 SQL 语句执行,将表单数据插入到数据库中。

```php

// 执行 SQL 语句

if ($conn->query($sql) === TRUE) {

echo "New record created successfully";

} else {

echo "Error: " . $sql . "<br>" . $conn->error;

}

5. 关闭数据库连接

在完成向数据库中插入数据的操作后,应该关闭与数据库服务器的连接,以便释放资源。

```php

// 关闭数据库连接

$conn->close();

完整的 PHP 代码示例:

```php

// mysqli 连接数据库

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

$conn = mysqli_connect($servername, $username, $password, $dbname);

// 获取表单数据

$name = $_POST['name'];

$email = $_POST['email'];

$phone = $_POST['phone'];

// 过滤和验证数据

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

echo "Invalid email format";

}

if (!preg_match("/^[0-9]{3}-[0-9]{4}-[0-9]{4}$/", $phone)) {

echo "Invalid phone format";

}

// 编写 SQL 语句

$sql = "INSERT INTO customers (name, email, phone) VALUES ('$name', '$email', '$phone')";

// 执行 SQL 语句

if ($conn->query($sql) === TRUE) {

echo "New record created successfully";

} else {

echo "Error: " . $sql . "<br>" . $conn->error;

}

// 关闭数据库连接

$conn->close();

注意:在实际的应用中,要注意对表单数据的过滤和验证,以及防止 SQL 注入攻击等安全问题。最好使用 PHP 内置的函数或第三方库来提高安全性。

PHP表单提交数据库需要经过以下步骤:

1.创建表单页面

首先,在HTML代码中创建一个表单,用来收集用户输入的信息。表单应包含一个提交按钮,以便用户提交表单数据。例如:

<form action="submit.php" method="POST">

<label>姓名</label>

<input type="text" name="name"><br><br>

<label>邮箱</label>

<input type="email" name="email"><br><br>

<label>密码</label>

<input type="password" name="password"><br><br>

<input type="submit" value="提交">

</form>

表单中的action属性指定了表单数据提交的处理程序,这里是submit.php。method属性指定了使用POST方法提交表单数据。

2.处理表单数据

在submit.php文件中,我们需要获取表单数据并将其存储在数据表中。可以使用POST请求和$_POST超全局变量来获取表单数据。例如:

<?php

$name = $_POST['name'];

$email = $_POST['email'];

$password = $_POST['password'];

?>

3.连接数据库

在处理数据之前,我们需要连接到数据库。可以使用mysqli_connect函数来连接到MySQL数据库。例如:

<?php

$host = 'localhost';

$username = 'root';

$password = 'root';

$database = 'your_database';

$conn = mysqli_connect($host, $username, $password, $database);

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

?>

这里,$host是主机名,$username是用户名,$password是密码,$database是要连接的数据库名称。如果连接失败,mysqli_connect_error函数将返回错误信息并中止脚本。

4.将数据插入数据库

有了连接到数据库的连接,我们可以使用mysqli_query函数将数据插入数据表中。例如:

<?php

$sql = "INSERT INTO users (name, email, password) VALUES ('$name', '$email', '$password')";

if (mysqli_query($conn, $sql)) {

echo "数据插入成功!";

} else {

echo "Error: " . $sql . "<br>" . mysqli_error($conn);

}

mysqli_close($conn);

?>

这里,我们使用INSERT INTO语句向users表中插入数据,并使用mysqli_query函数执行该语句。如果操作成功,则返回消息“数据插入成功!”,否则返回错误消息。

5.完整的代码

下面是完整的submit.php代码:

<?php

$name = $_POST['name'];

$email = $_POST['email'];

$password = $_POST['password'];

$host = 'localhost';

$username = 'root';

$password = 'root';

$database = 'your_database';

$conn = mysqli_connect($host, $username, $password, $database);

if (!$conn) {

die("连接失败: " . mysqli_connect_error());

}

$sql = "INSERT INTO users (name, email, password) VALUES ('$name', '$email', '$password')";

if (mysqli_query($conn, $sql)) {

echo "数据插入成功!";

} else {

echo "Error: " . $sql . "<br>" . mysqli_error($conn);

}

mysqli_close($conn);

?>

这样,当用户在表单中提交数据时,表单数据将**入到数据表中。