php 链接数据库,用户名为root,密码123456,端口3306,数据库名为mysql,表名为t_student实现注册功能,使用正则表达式验证用户名和密码格式是否规范,用户名的属性为account,密码属性为pwd,注册后跳转至login.php页面
时间: 2023-10-24 10:04:28 浏览: 124
使用python连接mysql数据库之pymysql模块的使用
以下是实现此功能的 PHP 代码:
```php
<?php
// 连接数据库
$host = 'localhost';
$username = 'root';
$password = '123456';
$dbname = 'mysql';
$port = 3306;
$conn = mysqli_connect($host, $username, $password, $dbname, $port);
if (!$conn) {
die('连接数据库失败:' . mysqli_connect_error());
}
// 处理注册请求
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$account = $_POST['account'];
$pwd = $_POST['pwd'];
// 验证用户名和密码格式是否规范
if (!preg_match('/^[a-zA-Z][a-zA-Z0-9_]{5,19}$/', $account)) {
echo '用户名格式不规范';
} elseif (!preg_match('/^[a-zA-Z0-9_]{6,20}$/', $pwd)) {
echo '密码格式不规范';
} else {
// 插入新用户到数据库
$sql = "INSERT INTO t_student (account, pwd) VALUES ('$account', '$pwd')";
if (mysqli_query($conn, $sql)) {
// 注册成功,跳转到登录页面
header('Location: login.php');
exit;
} else {
echo '注册失败:' . mysqli_error($conn);
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form method="POST">
<label>用户名:</label>
<input type="text" name="account" required><br>
<label>密码:</label>
<input type="password" name="pwd" required><br>
<input type="submit" value="注册">
</form>
</body>
</html>
```
在上面的代码中,我们首先使用 `mysqli_connect` 函数连接到 MySQL 数据库。然后处理 POST 请求,从 `$_POST` 变量中获取用户名和密码,并使用正则表达式验证其格式是否规范。如果格式都正确,则使用 SQL 语句将新用户插入到 `t_student` 表中,并使用 `header` 函数将用户重定向到 `login.php` 页面。如果注册失败,则输出错误信息。
在 HTML 部分,我们使用表单让用户输入用户名和密码,并将其提交到本页面的 POST 请求中。
阅读全文