|

<?php
// 初始化变量和错误信息
$errors = [];
$username = $email = '';
$success_msg = '';
// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 获取并过滤输入数据
$username = htmlspecialchars($_POST['username'] ?? '');
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$password = $_POST['password'] ?? '';
// 验证用户名
if (empty($username)) {
$errors[] = '用户名不能为空';
} elseif (!preg_match('/^[a-zA-Z0-9_]{3,20}$/', $username)) {
$errors[] = '用户名只能包含字母、数字和下划线(3-20位)';
}
// 验证邮箱
if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors[] = '请输入有效的邮箱地址';
}
// 验证密码
if (strlen($password) < 8) {
$errors[] = '密码至少需要8个字符';
}
// 无错误时处理注册
if (empty($errors)) {
// 模拟保存到数据库(实际应使用password_hash和预处理语句)
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$success_msg = "注册成功!欢迎 $username";
// 清空表单字段
$username = $email = '';
}
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<style>
.error { color: red; }
.success { color: green; }
</style>
</head>
<body>
<h2>用户注册</h2>
<?php if ($success_msg): ?>
<p class="success"><?= $success_msg ?></p>
<?php else: ?>
<?php foreach ($errors as $error): ?>
<p class="error"><?= $error ?></p>
<?php endforeach ?>
<form method="post">
<p>
<label>用户名:</label>
<input type="text" name="username" value="<?= $username ?>" required>
</p>
<p>
<label>邮箱:</label>
<input type="email" name="email" value="<?= $email ?>" required>
</p>
<p>
<label>密码:</label>
<input type="password" name="password" required>
</p>
<button type="submit">立即注册</button>
</form>
<?php endif ?>
</body>
</html>
我们在日常开发中通常会用到各种API接口,比如查询用户IP归属地,手机号归属地,天气预报,万年历等,这时我们可以直接去接口盒子https://www.apihz.cn/查找需要的API即可。接口盒子有数百个免费API,而且采用集群化服务器部署,比一般的API服务商更加稳定。
|
|