PHP如何正确接收和处理form提交的数据? (form提交php怎么接收不到数据库)

在网页开发中,表单提交是一个常见的操作。PHP作为常用的服务器端语言,使用起来非常方便。但是,如果不正确地接收和处理表单提交数据,可能会导致安全漏洞,或者出现程序异常。因此,我们需要掌握PHP中如何正确接收和处理表单提交数据。

一、获取表单提交的数据

表单提交数据是通过$_POST或者$_GET方法获取的。$_POST用于获取form表单中提交method为Post的数据,$_GET用于获取method为Get的数据。我们可以通过isset方法判断是否有值传过来。

例如下面的表单:

“`html

“`

在PHP中获取的方式为:

“`php

if (isset($_POST[‘submit’])) {

$username = $_POST[‘username’];

$password = $_POST[‘password’];

}

“`

需要注意的是,使用$_POST和$_GET获取数据时,需要做好数据安全校验工作,避免SQL注入和XSS攻击等漏洞。

二、处理表单提交的数据

获取表单提交的数据只是之一步,我们还需要对数据进行逻辑处理,比如数据的验证、存储、输出等。

1. 数据的验证

在表单数据提交之前,需要对表单数据进行验证,验证方式有很多种,例如正则表达式、PHP内置函数等。

以验证用户名为例:

“`php

function check_username($username) {

$length = mb_strlen($username, ‘UTF-8’);

if ($length 20) {

return false;

}

$pattern = ‘/^[a-zA-Z0-9_]+$/’;

if (!preg_match($pattern, $username)) {

return false;

}

return true;

}

if (isset($_POST[‘submit’])) {

$username = $_POST[‘username’];

if (check_username($username)) {

// 用户名格式正确

} else {

// 用户名格式错误

}

}

“`

通过正则表达式和PHP内置函数验证是否符合格式。

2. 数据的存储

把表单提交的数据存储在数据库或者文件中,可以使用MySQLi或PDO扩展。

以MySQLi为例:

“`php

$con = mysqli_connect(“localhost”, “root”, “”, “mydb”);

if (!$con) {

die(“连接失败: ” . mysqli_connect_error());

}

$username = $_POST[‘username’];

$password = $_POST[‘password’];

$sql = “INSERT INTO user (username, password)

VALUES (‘$username’, ‘$password’)”;

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

echo “数据插入成功”;

} else {

echo “数据插入失败: ” . mysqli_error($con);

}

mysqli_close($con);

“`

3. 数据的输出

表单提交的数据可以输出到页面上,以便用户查看。

例如:

“`php

if (isset($_POST[‘submit’])) {

$username = $_POST[‘username’];

$password = $_POST[‘password’];

echo “用户名:$username,密码:$password”;

}

“`

需要注意的是,用户输入的数据需要进行HTML转义,避免XSS攻击。

三、常见问题及解决方案

1. 表单提交后,URL中可以看到参数。

这是因为表单提交方式为Get,在URL中传递参数。可以将method改为Post。

2. 可以通过Fiddler等工具修改表单提交数据。

需要做好数据校验,避免SQL注入和XSS攻击等漏洞。

3. 表单提交数据不能包括中文。

需要设置正确的字符集,例如UTF-8,可以在页面头部设置。

“`html

“`

四、

正确接收和处理表单数据是网页开发中的一个基本技能,需要掌握好表单数据的获取、存储和验证方法,以及相关的安全问题。在实际开发中,需要注意数据安全和性能,避免出现异常情况。


数据运维技术 » PHP如何正确接收和处理form提交的数据? (form提交php怎么接收不到数据库)