php 链接数据库,用户名为root,密码123456,端口3306,数据库名为mysql,表名为t_student实现注册功能,使用正则表达式验证用户名和密码和名称的格式是否规范,用户名的属性为account,密码属性为pwd,名称属性为name,注册后跳转至login.php页面
时间: 2023-10-27 12:05:53 浏览: 194
php用户注册信息验证正则表达式
以下是一个基本的 PHP 注册功能实现,包括了对用户名、密码和名称格式的正则表达式验证,以及将用户信息插入到数据库中的操作。请注意,为了使代码更加易读,我将数据库连接信息、正则表达式和 SQL 语句拆分成了单独的变量。你需要将这些变量替换为你自己的信息。
```php
<?php
// 数据库连接信息
$host = 'localhost';
$user = 'root';
$password = '123456';
$dbname = 'mysql';
$port = '3306';
// 建立数据库连接
$conn = mysqli_connect($host, $user, $password, $dbname, $port);
// 检查连接是否成功
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 定义正则表达式
$account_regex = '/^[a-zA-Z0-9_]{6,16}$/'; // 用户名格式:6-16位字母、数字、下划线
$pwd_regex = '/^[a-zA-Z0-9_]{6,16}$/'; // 密码格式:6-16位字母、数字、下划线
$name_regex = '/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{2,10}$/u'; // 名称格式:2-10位中文、字母、数字、下划线
// 获取表单数据
$account = $_POST['account'];
$pwd = $_POST['pwd'];
$name = $_POST['name'];
// 验证用户名、密码和名称格式是否规范
if (!preg_match($account_regex, $account)) {
die("用户名格式不正确");
}
if (!preg_match($pwd_regex, $pwd)) {
die("密码格式不正确");
}
if (!preg_match($name_regex, $name)) {
die("名称格式不正确");
}
// 插入用户信息到数据库中
$sql = "INSERT INTO t_student (account, pwd, name) VALUES ('$account', '$pwd', '$name')";
if (mysqli_query($conn, $sql)) {
header("Location: login.php"); // 注册成功后跳转至 login.php
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
请注意,以上代码中存在 SQL 注入漏洞,请勿直接使用于生产环境中,应该对输入进行过滤和转义,或者使用预处理语句来防止 SQL 注入攻击。
阅读全文