使用PHP和MySQL创建简单的用户登录系统

秋天的童话 2019-11-11 ⋅ 18 阅读

在Web开发中,用户登录系统是必不可少的一个功能。它允许用户注册账号,登录并在登录状态下访问特定的页面或功能。本文将演示如何使用PHP和MySQL来创建一个简单的用户登录系统。

准备工作

在开始之前,确保你已经安装了PHP和MySQL,并设置好了相应的开发环境。你可以使用类似XAMPP、WAMP或MAMP等集成开发环境或分别安装Apache、MySQL和PHP。

创建数据库

首先,我们需要创建一个数据库来存储用户信息。打开MySQL管理工具(如phpMyAdmin),创建一个名为user_login的数据库。然后在该数据库中创建一个名为users的表,该表用于存储用户的用户名和密码。表结构如下所示:

CREATE TABLE users (
  id INT(11) PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(100) NOT NULL,
  password VARCHAR(255) NOT NULL
);

创建登录和注册页面

接下来,创建一个用于登录和注册的页面。在你的项目文件夹中,创建一个名为login.php的文件和一个名为register.php的文件。

login.php中,添加以下内容:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>用户登录</title>
</head>
<body>
  <h1>用户登录</h1>
  <form action="login_process.php" method="POST">
    <label for="username">用户名:</label>
    <input type="text" name="username" id="username" required><br>

    <label for="password">密码:</label>
    <input type="password" name="password" id="password" required><br>

    <input type="submit" value="登录">
  </form>

  <p>还没有账号?<a href="register.php">点击此处注册</a></p>
</body>
</html>

register.php中,添加以下内容:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>用户注册</title>
</head>
<body>
  <h1>用户注册</h1>
  <form action="register_process.php" method="POST">
    <label for="username">用户名:</label>
    <input type="text" name="username" id="username" required><br>

    <label for="password">密码:</label>
    <input type="password" name="password" id="password" required><br>

    <input type="submit" value="注册">
  </form>
</body>
</html>

处理表单提交

现在,我们需要创建两个用于处理表单提交的PHP文件。在你的项目文件夹中,创建一个名为login_process.php的文件和一个名为register_process.php的文件。

login_process.php中,添加以下内容:

<?php
session_start();

// 连接到数据库
$connection = mysqli_connect('localhost', 'root', 'password', 'user_login');

// 处理登录表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $username = $_POST['username'];
  $password = $_POST['password'];

  // 查询数据库中是否存在匹配的用户名和密码
  $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
  $result = mysqli_query($connection, $query);

  // 如果查询到结果,则登录成功
  if (mysqli_num_rows($result) > 0) {
    $_SESSION['username'] = $username;
    header('Location: dashboard.php'); // 重定向到用户仪表盘页面
  } else {
    echo '用户名或密码错误';
  }
}

mysqli_close($connection);
?>

register_process.php中,添加以下内容:

<?php
session_start();

// 连接到数据库
$connection = mysqli_connect('localhost', 'root', 'password', 'user_login');

// 处理注册表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $username = $_POST['username'];
  $password = $_POST['password'];

  // 将新用户插入到数据库中
  $query = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
  $result = mysqli_query($connection, $query);

  if ($result) {
    $_SESSION['username'] = $username;
    header('Location: dashboard.php'); // 重定向到用户仪表盘页面
  } else {
    echo '注册失败';
  }
}

mysqli_close($connection);
?>

创建用户仪表盘页面

最后,创建一个名为dashboard.php的文件,该文件将允许用户在登录后访问的页面或功能。

<?php
session_start();

// 检查用户是否已登录,否则重定向到登录页面
if (!isset($_SESSION['username'])) {
  header('Location: login.php');
  exit;
}

$username = $_SESSION['username'];
?>

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>用户仪表盘</title>
</head>
<body>
  <h1>用户仪表盘</h1>
  <p>欢迎,<?php echo $username; ?></p>
  <a href="logout.php">退出登录</a>
</body>
</html>

创建退出登录功能

最后,创建一个名为logout.php的文件,用于处理用户退出登录的功能。

<?php
session_start();
session_destroy();
header('Location: login.php');
exit;
?>

总结

通过使用PHP和MySQL,我们可以很容易地创建一个简单的用户登录系统。从准备数据库到创建登录和注册页面,再到处理表单提交和创建用户仪表盘页面,最后实现退出登录功能。这是一个非常基础的用户登录系统,你可以根据自己的需求进行扩展和修改。

希望本文能帮助你初步了解如何使用PHP和MySQL创建一个简单的用户登录系统。如果你还有任何问题或疑问,请随时提问。


全部评论: 0

    我有话说: