php 链接数据库,用户名为root,密码123456,端口3306,数据库名为mysql,表名为t_student实现注册功能,使用正则表达式验证用户名和密码格式是否规范,用户名的属性为account,密码属性为pwd,班级属性为class_id,性别属性为sex
时间: 2023-10-30 10:08:09 浏览: 154
首先,需要使用PHP的mysqli扩展连接MySQL数据库。代码如下:
```
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "mysql";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
```
接下来,需要编写一个注册表单,包括账号、密码、班级和性别四个输入框,并使用正则表达式验证账号和密码格式。代码如下:
```
<!DOCTYPE html>
<html>
<head>
<title>注册</title>
</head>
<body>
<form action="register.php" method="post">
<label>账号:</label>
<input type="text" name="account" required pattern="^[a-zA-Z][a-zA-Z0-9_]{5,15}$"><br>
<label>密码:</label>
<input type="password" name="pwd" required pattern="^[a-zA-Z0-9_]{6,16}$"><br>
<label>班级:</label>
<input type="text" name="class_id"><br>
<label>性别:</label>
<input type="radio" name="sex" value="男" checked>男
<input type="radio" name="sex" value="女">女<br>
<input type="submit" value="注册">
</form>
</body>
</html>
```
在提交表单后,需要在register.php文件中获取表单数据,然后插入到t_student表中。代码如下:
```
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "mysql";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取表单数据
$account = $_POST["account"];
$pwd = $_POST["pwd"];
$class_id = $_POST["class_id"];
$sex = $_POST["sex"];
// 验证账号和密码格式是否规范
if (!preg_match("/^[a-zA-Z][a-zA-Z0-9_]{5,15}$/", $account)) {
die("账号格式不规范");
}
if (!preg_match("/^[a-zA-Z0-9_]{6,16}$/", $pwd)) {
die("密码格式不规范");
}
// 插入数据到t_student表中
$sql = "INSERT INTO t_student (account, pwd, class_id, sex)
VALUES ('$account', '$pwd', '$class_id', '$sex')";
if ($conn->query($sql) === TRUE) {
echo "注册成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
```
注意,上述代码中的正则表达式仅作为示例,具体的格式要根据实际需要进行修改。
阅读全文