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

如何基于用户帐户构建 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.

相关推荐
热点推荐
尴尬!叙利亚新领导人拒绝和德国女外长握手,疑似因为不带头巾?

尴尬!叙利亚新领导人拒绝和德国女外长握手,疑似因为不带头巾?

西西弗说
2025-01-04 22:22:13
太疯狂!全球都在准备中国新年?德国人凌晨4点排队抢中国烟花…

太疯狂!全球都在准备中国新年?德国人凌晨4点排队抢中国烟花…

魏家东
2025-01-04 08:02:33
欧盟禁止强迫劳动产品法案,剑指我国996?我们该如何因应

欧盟禁止强迫劳动产品法案,剑指我国996?我们该如何因应

橘色数码
2025-01-04 20:33:47
市委原书记刘志仁等8297人主动交代问题,218名“一把手”被留置!湖南反腐年报公布

市委原书记刘志仁等8297人主动交代问题,218名“一把手”被留置!湖南反腐年报公布

新京报政事儿
2025-01-04 15:11:32
47岁无人机领域顶级专家去世,最后照流出:陷网贷,被催债后跳楼

47岁无人机领域顶级专家去世,最后照流出:陷网贷,被催债后跳楼

博士观察
2025-01-04 21:46:07
斯洛伐克人怒了!失踪14天的菲佐在越南住6200 欧的蝴蝶夫人套房

斯洛伐克人怒了!失踪14天的菲佐在越南住6200 欧的蝴蝶夫人套房

大风文字
2025-01-04 14:03:21
年轻人开始流行将黄金贴在手机上 0.01克黄金成硬核年货

年轻人开始流行将黄金贴在手机上 0.01克黄金成硬核年货

大象新闻
2025-01-04 22:24:34
太不可思议!韩国财阀公子在上海一顿饭吃了56万元!

太不可思议!韩国财阀公子在上海一顿饭吃了56万元!

小人物看尽人间百态
2025-01-04 19:21:26
德国外长自己背着小包抵达叙利亚: 欧洲不会资助任何伊斯兰机构

德国外长自己背着小包抵达叙利亚: 欧洲不会资助任何伊斯兰机构

一种观点
2025-01-04 12:18:43
日本开无人饺子店,两年即倒闭!直接被偷破产了啊!!

日本开无人饺子店,两年即倒闭!直接被偷破产了啊!!

英国那些事儿
2024-12-30 23:25:09
伊朗人都在等待哈梅最后消息!唯有八旗子弟革命卫队不愿接受现实

伊朗人都在等待哈梅最后消息!唯有八旗子弟革命卫队不愿接受现实

大风文字
2025-01-04 16:57:35
66岁北京老炮马三去世,好友透露死因,曾扎瞎歌手罗琦眼睛

66岁北京老炮马三去世,好友透露死因,曾扎瞎歌手罗琦眼睛

小盖纪实
2025-01-04 09:35:26
突发!法国七辆氢动力公交车起火,一辆公交车的单价接近70万欧元

突发!法国七辆氢动力公交车起火,一辆公交车的单价接近70万欧元

二向箔
2025-01-04 22:32:05
三鹿奶粉被瑞典博物馆永久收藏,传递食品安全警示!

三鹿奶粉被瑞典博物馆永久收藏,传递食品安全警示!

涛哥锐评
2025-01-02 13:57:42
中国观众认定的烂片,海外观众当成宝,破128亿夺2024年全球年冠

中国观众认定的烂片,海外观众当成宝,破128亿夺2024年全球年冠

靠谱电影君
2025-01-03 14:00:16
有人问:毛主席时代有多穷?今天终于见识到了,这才是真实的历史

有人问:毛主席时代有多穷?今天终于见识到了,这才是真实的历史

笑熬浆糊111
2025-01-05 00:06:20
河北菜市场大火致8死15伤,当地群众爆料:曾举报市场扩建被约谈

河北菜市场大火致8死15伤,当地群众爆料:曾举报市场扩建被约谈

乌娱子酱
2025-01-04 17:45:46
辛巴砸钱15亿开超市,说超越山姆很容易!"辛选超市"曝光被说山寨

辛巴砸钱15亿开超市,说超越山姆很容易!"辛选超市"曝光被说山寨

派大星纪录片
2025-01-04 19:50:00
笑煞特我了!来沪旅游的欧巴都是统一发型吗?最近上海的韩国人多到能总结规律了

笑煞特我了!来沪旅游的欧巴都是统一发型吗?最近上海的韩国人多到能总结规律了

新民晚报
2025-01-04 14:31:00
曝某地在河边集中销毁烟花,遭质疑:集中放和分开放有何区别?都在污染环境

曝某地在河边集中销毁烟花,遭质疑:集中放和分开放有何区别?都在污染环境

可达鸭面面观
2025-01-04 22:40:04
2025-01-05 10:08:51
墨谈科技 incentive-icons
墨谈科技
业务数码玩家.无聊的博主
4002文章数 584关注度
往期回顾 全部

科技要闻

中国政府拟限制磷酸铁锂技术出口

头条要闻

俄乌士兵肉搏画面披露 乌士兵死前请求"让我安静死去"

头条要闻

俄乌士兵肉搏画面披露 乌士兵死前请求"让我安静死去"

体育要闻

76人29分大胜双杀篮网 拉塞尔伤退恩比德28+12+6

娱乐要闻

星光大赏好炸裂!一个比一个抓马

财经要闻

人去楼空!多地被曝关店

汽车要闻

10万元级无图智驾 悦也PLUS全路况实测

态度原创

房产
游戏
家居
公开课
军事航空

房产要闻

中交 × 鱼珠 | 高定江景梦幻联动,打造都市精英的 “临江乌托邦”

刚开年就硬控全网,《和平精英》用“一把火”点燃了2025?

家居要闻

素色现代 开启简洁生活

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

以军袭击加沙地带已致至少66人死亡

无障碍浏览 进入关怀版