网易首页 > 网易号 > 正文 申请入驻

如何基于用户帐户构建 PHP 登录

0
分享至

每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。
网站必须有来自客户端的用户登录才能执行基本任务。现代网站大部分时间都使用这个组件来为用户提供便利。

网站必须有来自客户端的用户登录才能执行基本任务。现代网站大部分时间都使用这个组件来为用户提供便利。

我今天将教你如何使用 PHP、MySQL 和 Bootstrap(用于设计)创建登录系统。

PHP 是 Web 开发的基础语言。虽然它很旧,但使用高级编程和人工智能,您可以在 PHP 中创建创新的应用程序。

PHP 为著名的 CMS、WordPress 和 Joomla 提供支持,它们是可用于许多其他应用程序的开源 OOP 框架。

PHP 是 Web 开发的基础语言。使用 PHP,您可以拥有一种简洁易学的编程语言。它可以随着开发者的需求而增长,同时它也有强大的社区愿意提供支持。

如何使用 Bootstrap 为用户登录创建干净的 UI

第一步是使用 UI 设计和 Bootstrap 5 创建 index.php。我们尽可能为设计和 CDN 链接添加了 Poppins Google 字体,因为代码变得轻量级且资源占用更少。

PHP中的索引文件:


Login


Login


Email address


Password


Login

稍后,在 style.css 文件中,我插入了一张背景图片,让背景看起来更有趣。但是,这仅适用于不支持现代 Web 标准且无法查看 Web 图像的旧版浏览器。

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Poppins', sans-serif;
background: #f1f1f1;
background: url("../img/email-pattern.webp");
}

在处理程序的逻辑部分之前,我们应该创建一个存储用户的数据库。MySQL 将是一个不错的选择,因为它是免费的并且对初学者友好。要创建数据库,请转到 PHPMyAdmin 并将名称设置为相关的名称。

使用“数据库”创建一个表并将其命名为“用户”。这应该有四列:ID、PASSWORD、EMAIL 和 ACTIVE。为每个单元格的值不同的每个人创建新的行列和行。

CREATE TABLE `users` (
`id` int(5) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`active` tinyint(1) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

为了实现用户登录系统,我们首先将用户登录详细信息插入 SQL 数据库。稍后在部署中,我们将使用 PHP 进行注册过程。

INSERT INTO `users` (`id`, `email`, `password`, `active`) VALUES
(1, 'test@gmail.com', '1234', 1);

将 MySQL 数据库连接到 PHP。

我们在项目中的connection.php:


$servername = "localhost"; // Enter Your severname here
$username = "root"; // Enter your MySQL database username here
$password = ""; // // Enter your MySQL database password here
$dbname = "ld_call"; // Enter your Database Name here
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

接下来,我们逐步对登录过程进行编码。

PHP用户登录系统逻辑揭示

尽管逻辑编程语言可能看起来令人生畏,但一旦我们理解了代码背后的推理,它就会变得更容易编写。这些编程语言的复杂性不是因为编写或理解代码的困难,而是因为它们需要我们批判性地思考才能理解它们。

第一步是将问题分解成更小的部分,然后进行迭代。伪代码是一种无需编写编程语法即可编写算法的方式。它通常分成代表步骤的行。

代码是用于编程的语言。伪代码是简化版本,而不是实际代码。它们充当程序员遵循的注释,以更快地完成复杂的过程。

了解我们的登录过程如何简单且易于编码。

从长远来看,如果你开始养成在写一行代码之前写伪代码的习惯,你就会开始爱上编码。较长的编程代码不会有问题。

如何设置用户登录程序:

  1. 登录表单的流程由用户提交,然后单击提交。
  2. 我们需要确保清理数据后没有任何反斜杠或空格。
  3. 我们对您的登录信息进行安全加密,并将其与我们的数据库进行比较以进行验证。
  4. 用户可能会看到的错误消息。
  5. 在这里,我们验证用户的详细信息是否已保存。
  6. 我们还在会话中跟踪我们的登录用户。
  7. 了解如何设置注销过程。

不要用太多代码创建伪代码,反之亦然——不要让代码太短。

让我们去代码:


require_once("connection.php");
session_start();
function santize($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if (isset($_POST['login'])) {
$email = santize($_POST['email']);
$password = santize($_POST['password']);
$sql = "SELECT id FROM users WHERE email = '$email' AND password = '$password' AND active = 1";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$_SESSION['login_active'] = [$email, $password];
header("Location: admin.php");
exit();
} else {
$_SESSION['errors'] = "Login Error! Check Email & Password";
header("Location: index.php");
exit();
}
}
?

为了显示用户登录错误,我想使用 PHP 会话。将代码粘贴到您想要的位置。


$message = $_SESSION['errors'];
unset($_SESSION['errors']);
echo $message;

这是可以插入到 index.php 文件顶部的 PHP 代码,以在用户成功登录时显示。

这是我们的 Admin.php 的样子:

Admin

Admin

Logout

Welcome to Admin

将 PHP 代码添加到 admin.php 以确定登录会话是否处于活动状态。否则,任何人都可以访问您页面的管理文件,因为没有任何限制。

为了保护网站上的其他页面免受未经授权的访问,请使用此代码。


require_once("connection.php");
session_start();
if (!isset($_SESSION['login_active'])) {
header("Location: index.php");
exit();
}
?>

一旦您了解了使用 PHP、MySQL 和 Bootstrap 5 构建用户登录系统的整个过程,请随意使用此代码。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
北约呼吁加大对乌支持,向乌提供射程为1000至5500公里的中程导弹

北约呼吁加大对乌支持,向乌提供射程为1000至5500公里的中程导弹

山河路口
2024-11-26 23:32:51
伊拉克人口普查初步结果公布:人口超4540万

伊拉克人口普查初步结果公布:人口超4540万

财联社
2024-11-26 04:43:05
乔治:现今NBA走步太多了 一场比赛有5-10个走步都不吹

乔治:现今NBA走步太多了 一场比赛有5-10个走步都不吹

直播吧
2024-11-27 09:12:37
调查|买房“免息垫首付”暴雷:深莞10余个楼盘卷入,个别涉千万元,部分房源已被住建部门锁定

调查|买房“免息垫首付”暴雷:深莞10余个楼盘卷入,个别涉千万元,部分房源已被住建部门锁定

每日经济新闻
2024-11-26 22:23:05
管晨辰晨再发声:就是看不惯她,账号被封说明一切,不会选择道歉

管晨辰晨再发声:就是看不惯她,账号被封说明一切,不会选择道歉

晴晴给你讲故事
2024-11-26 15:05:13
新加坡称反对“台湾独立”,发布新闻稿“打脸”民进党当局,国台办回应

新加坡称反对“台湾独立”,发布新闻稿“打脸”民进党当局,国台办回应

环球网资讯
2024-11-27 11:08:42
俄国防部:准备对乌军使用美制陆军战术导弹发动袭击作出回应

俄国防部:准备对乌军使用美制陆军战术导弹发动袭击作出回应

新京报
2024-11-26 22:32:06
山姆又出事?有人“趴在马桶边度过后半夜”!近期大量上市

山姆又出事?有人“趴在马桶边度过后半夜”!近期大量上市

上观新闻
2024-11-27 07:47:09
王超事件后续:护士妻子磕头认错,赔偿80万左右,丈母娘送回骨灰

王超事件后续:护士妻子磕头认错,赔偿80万左右,丈母娘送回骨灰

子芫伴你成长
2024-11-25 18:15:02
爆大冷!世界冠军1-3出局,国乒男单0-3完败日本,单打5人被淘汰

爆大冷!世界冠军1-3出局,国乒男单0-3完败日本,单打5人被淘汰

知轩体育
2024-11-26 23:41:41
国家消防救援局:锂电池热失控不可避免!禁止电车进入地库,无奈之举?

国家消防救援局:锂电池热失控不可避免!禁止电车进入地库,无奈之举?

都市快报橙柿互动
2024-11-26 20:16:48
自带体系!哈登3项重要数据联盟第一,坐稳历史第一双能卫!

自带体系!哈登3项重要数据联盟第一,坐稳历史第一双能卫!

篮球板凳席
2024-11-27 12:11:06
绝了!这个地方把“天”卖了,售价9.24亿,中标单位大有来头

绝了!这个地方把“天”卖了,售价9.24亿,中标单位大有来头

深蓝财经
2024-11-26 19:28:09
老同志李瑞环的讲话为什么能抓人?

老同志李瑞环的讲话为什么能抓人?

读史
2024-11-27 07:01:09
一份“带编儿童餐”,让普通家长酸了:我不努力,也连累了下一代

一份“带编儿童餐”,让普通家长酸了:我不努力,也连累了下一代

熙熙说教
2024-11-26 17:32:14
管晨辰最新回应:看不惯吴柳芳用体操"擦边"!国家对她是有保障的

管晨辰最新回应:看不惯吴柳芳用体操"擦边"!国家对她是有保障的

篮球扫地僧
2024-11-25 17:24:44
复出状态不错!比尔半场出战15分钟 9中6&三分3中2轰下14分

复出状态不错!比尔半场出战15分钟 9中6&三分3中2轰下14分

直播吧
2024-11-27 12:12:32
英锦赛首轮战罢!中国军团三胜五负,Top16剩九人,张安达轰147!

英锦赛首轮战罢!中国军团三胜五负,Top16剩九人,张安达轰147!

世界体坛观察家
2024-11-27 08:19:34
马斯克社媒恭喜C罗赢球,C罗:很高兴你有时间关注“足球”

马斯克社媒恭喜C罗赢球,C罗:很高兴你有时间关注“足球”

懂球帝
2024-11-27 05:06:34
美国能熬死苏联!同理也能打败中国?李显龙说了句公道话,很中肯

美国能熬死苏联!同理也能打败中国?李显龙说了句公道话,很中肯

老吴教育课堂
2024-11-22 18:27:59
2024-11-27 12:31:00
墨谈科技
墨谈科技
业务数码玩家.无聊的博主
3824文章数 580关注度
往期回顾 全部

科技要闻

余承东:Mate70对得起那四字 靠抄袭没未来

头条要闻

"内蒙古警察枪击案"重审 嫌犯称躲避冲撞时无意识开枪

头条要闻

"内蒙古警察枪击案"重审 嫌犯称躲避冲撞时无意识开枪

体育要闻

扣篮命中率28%,NBA首发前锋

娱乐要闻

无性婚姻,深度抑郁,葛夕怎么走不掉

财经要闻

洪灏刘煜辉对谈实录 涉及A股、债务等!

汽车要闻

中国的超豪华车尊界S800 预售百万起/ L3级智驾

态度原创

时尚
艺术
手机
房产
本地

幂姐带火的“渣女美甲”有多绝?高级巨显白,狠狠踩在我心巴上!

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

手机要闻

首次双杯齐发,一加 Ace 5 系列新机官宣“下月见”

房产要闻

大动作!新世界·天馥全线上新,锚定广州置业安全网第一标准!

本地新闻

城市24小时|领跑万亿城市,武汉“开挂”了?

无障碍浏览 进入关怀版