0

0

如何使用PHP开发CMS中的用户管理系统

PHPz

PHPz

发布时间:2023-06-21 17:24:40

|

1694人浏览过

|

来源于php中文网

原创

随着互联网的发展,内容管理系统(cms)已成为网站建设、开发和管理的常用工具。其中,在cms中的用户管理系统非常重要,用户管理系统可以让网站管理员管理网站的注册用户,管理用户的信息、权限和密钥。

在这篇文章中,我们将介绍如何使用PHP开发CMS中的用户管理系统,让你了解到用户管理系统的基本操作和设计思路,帮助你更好地实现网站用户管理。

1.数据库设计

首先,我们要在数据库中设计用户数据表,这个数据表用来存储用户的基本信息和权限,如用户名、密码、电子邮件、电话等信息。其中,用户的权限分为管理员和普通用户两种,管理员用户具有管理用户和各种操作的权限,普通用户只有访问权限。

用户数据表的设计如下:

立即学习PHP免费学习笔记(深入)”;

CREATE TABLE users (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL,
password varchar(255) NOT NULL,
email varchar(255) NOT NULL,
phone varchar(50) DEFAULT NULL,
type tinyint(4) NOT NULL DEFAULT '1',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.用户注册页面

用户注册页面是列出用户名、密码、电子邮件地址和其他信息的表单,让用户填写并提交。在后台,系统将接收和验证表单数据、创建新的用户账户并将其存储到数据库中。用户注册页面的代码如下:

php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {

$username = $_POST['username'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
$email = $_POST['email'];
$phone = $_POST['phone'];
$type = $_POST['type'];
// Connect to database
$conn = new mysqli("localhost", "root", "password", "database");
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// SQL query to insert new user
$sql = "INSERT INTO users (username, password, email, phone, type)
        VALUES ('$username', '$password', '$email', '$phone', $type)";
if ($conn->query($sql) === TRUE) {
    header("Location: login.php");
} else {
    echo "Error: " . $sql . "
" . $conn->error; } $conn->close();

}
?>


Register - CMS User Management System


Register


3.用户登录页面

用户登录页面是用来验证用户输入的账户和密码是否能在数据库中匹配成功,来确保用户是合法用户。如果验证成功,系统将用户重定向到CMS的主页面,如果验证失败,则向用户显示错误消息。用户登录页面的代码如下:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

$username = $_POST['username'];
$password = $_POST['password'];
// Connect to database
$conn = new mysqli("localhost", "root", "password", "database");
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// SQL query to select user with given username
$sql = "SELECT id, username, password, type FROM users WHERE username='$username'";
$result = $conn->query($sql);
if ($result->num_rows == 1) {
    // User found, check password
    $row = $result->fetch_assoc();
    if (password_verify($password, $row['password'])) {
        // Passwords match, set session variables and redirect to main page
        session_start();
        $_SESSION['user_id'] = $row['id'];
        $_SESSION['username'] = $row['username'];
        $_SESSION['type'] = $row['type'];
        header("Location: index.php");
    } else {
        // Passwords do not match, display error message
        $error = "Invalid login credentials";
    }
} else {
    // User not found, display error message
    $error = "Invalid login credentials";
}
$conn->close();

}
?>


Login - CMS User Management System


Login


4.用户管理页面

用户管理页面是CMS的一个核心页面,它允许管理员对所有网站用户进行管理,包括添加、编辑和删除用户信息。相应的,用户界面将只允许访问和编辑自己的账户信息。这个页面也需要正确地验证和处理用户输入的数据,以确保系统的安全性和适用性。用户管理页面的代码如下:

918网赚广告任务网系统
918网赚广告任务网系统

918网赚广告任务网系统是918团队专业开发,针对网赚项目设置,综合网赚的用户开发! 918网赚广告任务网系统前台栏目有 1、首 页 2、任务赚钱 3、浏览赚钱 4、点击赚钱 5、挂机赚钱 6、游戏赚钱 7、发布广告 8、商品购买 9、创业加盟 918网赚广告任务网系统后台功能也很完善,美工也不错。栏目有 会员管理 财务管理 商务管理 系统设置 918网赚广告任务网系统安装使用说明 系

下载

session_start();
if ($_SESSION['type'] != 2) {

// Redirect non-admin users to index.php
header("Location: index.php");

} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {

// Handle form submission
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$type = $_POST['type'];
// Connect to database
$conn = new mysqli("localhost", "root", "password", "database");
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// SQL query to update user
$sql = "UPDATE users SET username='$username', email='$email', phone='$phone', type=$type WHERE id=$id";
if ($conn->query($sql) !== TRUE) {
    echo "Error updating record: " . $conn->error;
}
$conn->close();

} elseif (isset($_GET['delete'])) {

// Handle deleting user
$id = $_GET['delete'];
// Connect to database
$conn = new mysqli("localhost", "root", "password", "database");
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// SQL query to delete user
$sql = "DELETE FROM users WHERE id=$id";
if ($conn->query($sql) !== TRUE) {
    echo "Error deleting record: " . $conn->error;
}
$conn->close();

}
?>


Manage Users - CMS User Management System


Manage Users

connect_error) { die("Connection failed: " . $conn->connect_error); } // SQL query to select all users $sql = "SELECT * FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo ""; echo ""; echo ""; echo ""; echo ""; if ($row['type'] == 1) { echo ""; } else { echo ""; } echo ""; echo ""; } } else { echo "No users found"; } $conn->close(); ?>
User ID Username Email Phone User Type Action
" . $row['id'] . "" . $row['username'] . "" . $row['email'] . "" . $row['phone'] . "Regular UserAdministrator"; echo "Edit"; echo " | "; echo "Delete"; echo "
Add user Logout


5.用户编辑页面

用户编辑页面允许管理员编辑当前用户的信息,同时展示了当前用户的信息。此页面需要正确验证和处理用户输入数据,以确保数据的安全性和适用性。用户编辑页面的代码如下:

session_start();
if ($_SESSION['type'] != 2) {

// Redirect non-admin users to index.php
header("Location: index.php");

} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {

// Handle form submission
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$type = $_POST['type'];
// Connect to database
$conn = new mysqli("localhost", "root", "password", "database");
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// SQL query to update user
$sql = "UPDATE users SET username='$username', email='$email', phone='$phone', type=$type WHERE id=$id";
if ($conn->query($sql) !== TRUE) {
    echo "Error updating record: " . $conn->error;
}
$conn->close();

} elseif (isset($_GET['id'])) {

// Display user editing form
$id = $_GET['id'];
// Connect to database
$conn = new mysqli("localhost", "root", "password", "database");
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// SQL query to select user
$sql = "SELECT * FROM users WHERE id=$id";
$result = $conn->query($sql);
if ($result->num_rows == 1) {
    $row = $result->fetch_assoc();
    $username = $row['username'];
    $email = $row['email'];
    $phone = $row['phone'];
    $type = $row['type'];
} else {
    header("Location: manage.php");
}
$conn->close();

} else {

header("Location: manage.php");

}
?>


Edit User - CMS User Management System


Edit User

Cancel


提示:

  1. 使用 PHP 预处理语句和参数绑定方法来防止 SQL 注入攻击。
  2. 在你的 CMS 用户管理系统中,不要存储明文密码。应该使用 PHP密码哈希(password_hash()) 来对用户密码进行加密和解密。
  3. 对于密码重置,该模块也应该由管理员负责。通过输入电子邮件地址,发送密码重置链接到用户电子邮件。这将允许用户重置其密码,以他们自己的方式进行处理。
  4. 为你的 CMS 用户管理系统增加安全性和使用性,可以应用以下功能:

添加密码强度要求。

添加验证码以防止机器人。

强制用户选择强密码来保护他们的账户。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2490

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1592

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1485

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1414

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1445

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1305

2023.11.13

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号