正文 首页新闻资讯

php注册登录页面完整代码

ming

php注册登录页面完整代码

PHP注册登录页面完整代码教程

在Web开发中,用户注册和登录功能是许多网站的基础组成部分。这些功能允许用户创建账户并使用特定的服务。本文将引导您通过PHP语言来构建一个简单的注册登录系统。在这个过程中,我们将介绍如何创建数据库表、处理用户输入以及实现基本的安全措施。本教程假定您已经熟悉HTML、CSS和JavaScript,并且有一定的PHP编程经验。

一、项目准备

首先,我们需要确保拥有一个可以运行PHP的环境。对于本地开发,您可以安装XAMPP或WAMP等集成开发环境,它们提供了Apache服务器、MySQL数据库服务以及PHP解释器。接下来,请准备好您的文本编辑器(如Visual Studio Code)用于编写代码。

数据库设置

  1. 打开phpMyAdmin或者MySQL命令行工具。
  2. 创建一个新的数据库,例如命名为userdb
  3. 在这个新数据库内执行以下SQL语句来创建一个名为users的表:
    sql
    深色版本
    1CREATE TABLE users (
    2    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    3    username VARCHAR(30) NOT NULL,
    4    password VARCHAR(255) NOT NULL,
    5    email VARCHAR(50),
    6    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    7);

二、创建注册页面

现在我们开始构建第一个界面——注册页。该页面会收集用户的用户名、密码及电子邮件地址。

编写HTML表单

  1. 创建一个名为register.php的新文件。
  2. 添加如下HTML结构:
    html
    深色版本
    1<form action="register.php" method="post">
    2    Username: <input type="text" name="username"><br>
    3    Password: <input type="password" name="password"><br>
    4    Email: <input type="email" name="email"><br>
    5    <button type="submit">Register</button>
    6</form>

处理表单提交

  1. 同样在register.php文件里,于表单下方添加PHP脚本来处理数据提交:
    php
    深色版本
    1<?php
    2if ($_SERVER["REQUEST_METHOD"] == "POST") {
    3    $conn = new mysqli("localhost", "root", "", "userdb");
    4    if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);
    5
    6    $username = $conn->real_escape_string($_POST['username']);
    7    $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
    8    $email = $conn->real_escape_string($_POST['email']);
    9
    10    $sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
    11    if ($conn->query($sql) === TRUE) {
    12        echo "New record created successfully";
    13    } else {
    14        echo "Error: " . $sql . "<br>" . $conn->error;
    15    }
    16    $conn->close();
    17}
    18?>

三、创建登录页面

下一步是建立一个让用户能够登录其账户的页面。此页面需要验证提供的凭据是否与数据库中的记录匹配。

设计登录表单

  1. 新建一个login.php文件。
  2. 写入如下HTML内容:
    html
    深色版本
    1<form action="login.php" method="post">
    2    Username: <input type="text" name="username"><br>
    3    Password: <input type="password" name="password"><br>
    4    <button type="submit">Login</button>
    5</form>

实现登录逻辑

  1. 在同一login.php文件中,在表单之后加入PHP代码来处理登录请求:
    php
    深色版本
    1<?php
    2session_start();
    3if ($_SERVER["REQUEST_METHOD"] == "POST") {
    4    $conn = new mysqli("localhost", "root", "", "userdb");
    5    if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);
    6
    7    $username = $conn->real_escape_string($_POST['username']);
    8    $password = $_POST['password'];
    9
    10    $sql = "SELECT * FROM users WHERE username='$username'";
    11    $result = $conn->query($sql);
    12
    13    if ($result->num_rows > 0) {
    14        while($row = $result->fetch_assoc()) {
    15            if (password_verify($password, $row['password'])) {
    16                $_SESSION['loggedin'] = true;
    17                $_SESSION['username'] = $username;
    18                header("location: welcome.php");
    19                exit();
    20            } else {
    21                echo "Invalid password.";
    22            }
    23        }
    24    } else {
    25        echo "No user found with that username.";
    26    }
    27    $conn->close();
    28}
    29?>

四、欢迎页面

一旦用户成功登录后,他们会被重定向到一个欢迎页面。这不仅为用户提供了一个友好的反馈,也标志着安全检查点的成功通过。

欢迎信息显示

  1. 创建welcome.php文件。
  2. 加入以下PHP代码以确保只有已登录用户才能访问此页面:
    php
    深色版本
    1<?php
    2session_start();
    3if (!isset($_SESSION['loggedin']) || !$_SESSION['loggedin']) {
    4    header('Location: login.php');
    5    exit;
    6}
    7?>
    8<h1>Welcome, <?php echo htmlspecialchars($_SESSION['username']); ?>!</h1>
    9<a href="logout.php">Logout</a>

五、注销功能

最后一步是添加一个注销链接,使用户能够结束当前会话并从系统中退出。

实现注销操作

  1. 制作一个logout.php文件。
  2. 将下面的PHP代码粘贴进去:
    php
    深色版本
    1<?php
    2session_start();
    3session_unset();
    4session_destroy();
    5header("location: login.php");
    6exit;
    7?>

通过以上步骤,您已经完成了基于PHP的基本注册登录系统的搭建。请记住,在实际部署前务必加强安全性措施,比如增加对用户输入的数据验证、使用HTTPS协议加密传输等。此外,考虑采用更高级的身份验证机制如OAuth或JWT以提高应用的安全性。希望这篇教程能够帮助您入门Web应用程序开发!

版权免责声明 1、本文标题:《php注册登录页面完整代码》
2、本文来源于,版权归原作者所有,转载请注明出处!
3、本网站所有内容仅代表作者本人的观点,与本网站立场无关,作者文责自负。
4、本网站内容来自互联网,对于不当转载或引用而引起的民事纷争、行政处理或其他损失,本网不承担责任。
5、如果有侵权内容、不妥之处,请第一时间联系我们删除。