文章内容
<?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服务商更加稳定。



如有侵权请联系我们删除!
腾讯云开发者社区文章内容提取免费API接口教程

 查看详情 

PHP中文网文章内容提取免费API接口教程

 查看详情 

PHP实战:安全实现文件上传功能教程

 查看详情