php,连接数据库,连接car表,编写新用户注册页面,使用正则表达式验证输入内容格式是否规范,比如用户名、密码,邮箱等是否规范,且二次确认密码;
时间: 2023-08-04 12:03:51 浏览: 36
好的,下面给您提供一个基本的PHP代码示例来实现这个功能:
首先,需要连接数据库:
```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
```
然后,需要编写新用户注册页面,包括用户名、密码、邮箱等输入框:
```html
<form action="register.php" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
确认密码:<input type="password" name="confirm_password"><br>
邮箱:<input type="email" name="email"><br>
<input type="submit" value="注册">
</form>
```
接下来,需要使用PHP的正则表达式函数`preg_match()`来验证输入内容格式是否规范:
```php
$username = $_POST["username"];
$password = $_POST["password"];
$confirm_password = $_POST["confirm_password"];
$email = $_POST["email"];
// 验证用户名是否规范
if (!preg_match("/^[a-zA-Z0-9_]{3,20}$/", $username)) {
echo "用户名不符合规范,只允许字母、数字和下划线,长度为3-20个字符。";
exit;
}
// 验证密码是否规范
if (!preg_match("/^[a-zA-Z0-9_]{6,20}$/", $password)) {
echo "密码不符合规范,只允许字母、数字和下划线,长度为6-20个字符。";
exit;
}
// 确认密码是否一致
if ($password != $confirm_password) {
echo "两次输入的密码不一致。";
exit;
}
// 验证邮箱是否规范
if (!preg_match("/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/", $email)) {
echo "邮箱不符合规范。";
exit;
}
```
最后,将注册信息插入到数据库的car表中:
```php
$sql = "INSERT INTO car (username, password, email)
VALUES ('$username', '$password', '$email')";
if ($conn->query($sql) === TRUE) {
echo "注册成功!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
```
完整的代码如下:
```php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$username = $_POST["username"];
$password = $_POST["password"];
$confirm_password = $_POST["confirm_password"];
$email = $_POST["email"];
// 验证用户名是否规范
if (!preg_match("/^[a-zA-Z0-9_]{3,20}$/", $username)) {
echo "用户名不符合规范,只允许字母、数字和下划线,长度为3-20个字符。";
exit;
}
// 验证密码是否规范
if (!preg_match("/^[a-zA-Z0-9_]{6,20}$/", $password)) {
echo "密码不符合规范,只允许字母、数字和下划线,长度为6-20个字符。";
exit;
}
// 确认密码是否一致
if ($password != $confirm_password) {
echo "两次输入的密码不一致。";
exit;
}
// 验证邮箱是否规范
if (!preg_match("/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/", $email)) {
echo "邮箱不符合规范。";
exit;
}
$sql = "INSERT INTO car (username, password, email)
VALUES ('$username', '$password', '$email')";
if ($conn->query($sql) === TRUE) {
echo "注册成功!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
```