超详细的php用户注册页面填写信息完整实例(附源码)

yizhihongxing

我来给你详细讲解一下“超详细的php用户注册页面填写信息完整实例(附源码)”的完整攻略。该攻略可以帮助刚开始学习PHP的人快速掌握PHP用户注册页面的制作,支持完整的信息填写,包括用户名、邮箱、密码、确认密码等。

确定页面结构

首先需要确定页面的基本结构,包括导航栏、表单、脚注等。这里可以使用HTML和CSS来实现,代码示例如下:

<!DOCTYPE html>
<html>
<head>
    <title>用户注册页面</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header>
        <nav>
            <ul>
                <li><a href="#">首页</a></li>
                <li><a href="#">注册</a></li>
                <li><a href="#">登录</a></li>
            </ul>
        </nav>
    </header>
    <main>
        <form method="post" action="register.php">
            <label for="username">用户名</label>
            <input type="text" id="username" name="username" required>
            <label for="email">邮箱</label>
            <input type="email" id="email" name="email" required>
            <label for="password">密码</label>
            <input type="password" id="password" name="password" required>
            <label for="confirm_password">确认密码</label>
            <input type="password" id="confirm_password" name="confirm_password" required>
            <input type="submit" value="注册">
        </form>
    </main>
    <footer>
        <p>版权所有 &#169; 2021</p>
    </footer>
</body>
</html>

验证表单数据

接着需要对表单提交的数据进行验证,包括用户名是否重复、邮箱格式是否正确、密码是否符合要求等。这里可以使用PHP来实现,代码示例如下:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 连接数据库
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }

    // 获取表单数据
    $username = $_POST["username"];
    $email = $_POST["email"];
    $password = $_POST["password"];
    $confirm_password = $_POST["confirm_password"];

    // 验证用户名是否重复
    $sql = "SELECT * FROM users WHERE username='$username'";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        $username_err = "用户名已被使用";
    } else {
        $username = trim($username);
    }

    // 验证邮箱格式是否正确
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $email_err = "无效的邮箱格式";
    }

    // 验证密码是否符合要求
    if (strlen($password) < 6) {
        $password_err = "密码不能少于6个字符";
    } elseif (!preg_match("/[a-z]+/", $password)) {
        $password_err = "密码必须包含小写字母";
    } elseif (!preg_match("/[A-Z]+/", $password)) {
        $password_err = "密码必须包含大写字母";
    } elseif (!preg_match("/\d+/", $password)) {
        $password_err = "密码必须包含数字";
    } elseif ($password != $confirm_password) {
        $confirm_password_err = "两次输入的密码不一致";
    }

    // 如果表单数据验证通过,则将数据写入数据库
    if (empty($username_err) && empty($email_err) && empty($password_err) && empty($confirm_password_err)) {
        $sql = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$password')";
        if ($conn->query($sql) === TRUE) {
            echo "注册成功";
        } else {
            echo "注册失败:" . $conn->error;
        }
        // 关闭数据库连接
        $conn->close();
    }
}

展示错误信息

最后需要展示表单数据验证失败时的错误信息,包括用户名已被使用、邮箱格式无效、密码过短或不符合要求、两次输入的密码不一致等。这里可以在HTML中加入错误信息显示区域,并使用PHP来输出错误信息,代码示例如下:

<main>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        <label for="username">用户名</label>
        <input type="text" id="username" name="username" required value="<?php echo $username;?>">
        <span class="error"><?php echo $username_err;?></span>
        <label for="email">邮箱</label>
        <input type="email" id="email" name="email" required value="<?php echo $email;?>">
        <span class="error"><?php echo $email_err;?></span>
        <label for="password">密码</label>
        <input type="password" id="password" name="password" required>
        <span class="error"><?php echo $password_err;?></span>
        <label for="confirm_password">确认密码</label>
        <input type="password" id="confirm_password" name="confirm_password" required>
        <span class="error"><?php echo $confirm_password_err;?></span>
        <input type="submit" value="注册">
    </form>
</main>

在上面的代码中,使用了htmlspecialchars()函数来避免恶意代码注入的问题,将用户输入的内容进行转义处理。

附上完整的源代码:https://github.com/example/php-user-registration-page-with-validation

其中一个示例说明是:如果用户名已被使用,则会显示错误信息“用户名已被使用”,并将输入的用户名保留在表单中。另一个示例是:如果两次输入的密码不一致,则会显示错误信息“两次输入的密码不一致”,并将输入的密码保留在表单中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:超详细的php用户注册页面填写信息完整实例(附源码) - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 微信小程序开发实现消息推送

    关于“微信小程序开发实现消息推送”的完整攻略,我们可以分成以下几个步骤: 步骤一:申请模板消息接口权限 首先我们需要在微信公众平台上申请“模板消息”的接口权限,这样才能在小程序中使用消息推送功能。具体操作步骤可以参考微信公众平台的官方文档:模板消息接口权限申请流程。 步骤二:准备模板消息 在获得了模板消息接口权限之后,我们需要准备一些消息模板,方便我们在代码…

    PHP 2023年5月30日
    00
  • PHP异步调用socket实现代码

    PHP异步调用socket实现是一种提高代码性能的方法,能够同时处理多个客户端请求,提高服务器的吞吐量。下面是实现这种方式的完整攻略: 一、安装需要的扩展 安装swoole扩展 pecl install swoole 安装event扩展 pecl install event 二、实现异步socket服务端 在服务端代码中,需要使用swoole与event两个…

    PHP 2023年5月23日
    00
  • PHP 实现explort() 功能的详解

    这里是关于 “PHP 实现 explode() 功能的详细攻略” 的完整说明: 1. 什么是 explode() 函数? explode() 函数是 PHP 中的一个用于字符串操作的函数,它能够将一个字符串按照指定的分隔符将其分割成多个子串,最终返回一个字符串数组。这个函数的语法如下: array explode ( string $delimiter , …

    PHP 2023年5月27日
    00
  • PHP数据集构建JSON格式及新数组的方法

    当使用PHP开发Web应用程序时,数据集的构建是非常重要的一环。JSON(JavaScript对象表示法)是一个用于数据交换的轻量级格式,因此构建JSON格式的数据集,能够实现Web应用中客户端和服务端之间的无缝数据交互。以下是一些用PHP构建JSON格式数据集和新数组的示例。 构建JSON格式数据集 1. 使用原生PHP函数 PHP提供了一些原生函数用于操…

    PHP 2023年5月26日
    00
  • PHP实现的构造sql语句类实例

    本文将介绍使用PHP实现的构造SQL语句类实例。该类能够简化SQL语句的构建,在编写SQL语句时可以提高效率,在本文中我们将覆盖以下主题: 系统要求 安装 使用 示例 系统要求 本类需要满足以下要求才能正常运行: PHP版本:5.4或更高版本 数据库类型:MySQL 安装 可以通过将该类文件下载并放在您的PHP项目中的合适位置来安装该类。也可以使用Compo…

    PHP 2023年5月27日
    00
  • php禁止某ip或ip地址段访问的方法

    当我们需要禁止某个IP或IP地址段访问我们的网站时,可以通过以下几种方式实现。 方法一:修改服务器配置文件 我们可以在服务器的配置文件中设置,禁止某个IP或IP地址段访问我们的网站。 第一步:登录服务器,打开服务器的配置文件。常见的服务器软件如Apache、Nginx等的配置文件路径如下: Apache:/etc/httpd/conf/httpd.confN…

    PHP 2023年5月23日
    00
  • php和数据库结合的一个简单的web实例 代码分析 (php初学者)

    下面我将给您讲解详细的“PHP和数据库结合的一个简单的Web实例代码分析”的攻略。 1. 准备工作 在开始制作Web实例之前,我们需要准备以下内容: 一台安装有Web服务器和PHP环境的计算机。 一个关系型数据库,如MySQL。 一个数据库管理软件,如phpMyAdmin。 2. 建立数据库和表 在phpMyAdmin中创建一个名为“webdb”的数据库,接…

    PHP 2023年5月24日
    00
  • PHP动态生成javascript文件的2个例子

    让我为您详细讲解一下”PHP动态生成javascript文件的2个例子”的攻略。 首先,我们需要明确一下JavaScript是一种在客户端执行的脚本语言,而PHP是一种在服务器端执行的脚本语言。动态生成JavaScript文件,指的是在服务器端生成相应的JavaScript代码,然后让客户端去加载这些代码,这样可以减轻客户端的负担,提升网站的性能。 例子1:…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部