Bootstrap 结合 PHP ,做简单的登录以及注册界面及功能
登录实现
HTML代码
<div class="container">
<?php if (isset($error_msg)): ?>
<div class="alert alert-danger" role="alert"><?php echo $error_msg; ?></div>
<?php endif ?>
<?php if (isset($success_msg)): ?>
<div class="alert alert-info" role="alert"><?php echo $success_msg; ?></div>
<?php endif ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" autocomplete="on">
<div class="form-group">
<label for="administrator">管理员账号(11位手机号码)</label>
<input type="number" class="form-control" name="administrator" id="administrator" value="<?php echo isset($_POST['administrator']) ? $_POST['administrator'] : ''; ?>">
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" class="form-control" name="password" id="password">
</div>
<button class="btn btn-info btn-md btn-block">登录</button>
</form>
</div>
CSS:
<link rel="stylesheet" type="text/css" href="css/Bootstrap.css">
<style type="text/css">
.container {
margin-top: 150px;
}
</style>
PHP:
function login () {
if (empty($_POST['administrator'])) {
$GLOBALS['error_msg'] = '请输入管理员账号';
return;
}
if (strlen($_POST['administrator']) !== 11) {
$GLOBALS['error_msg'] = '您输入的管理员账号不符合相关规定';
$_POST['administrator'] = '';
return;
}
if (empty($_POST['password'])) {
$GLOBALS['error_msg'] = '请输入密码';
return;
}
$connection = mysqli_connect('localhost', 'root', '密码', 'students_info_system');
if (!$connection) {
$GLOBALS['error_msg'] = '连接数据库失败';
return;
}
$query = mysqli_query($connection, 'select * from administrators');
if (!$query) {
$GLOBALS['error_msg'] = '查询数据失败';
return;
}
while ($administrator = mysqli_fetch_assoc($query)) {
$administrators[] = $administrator;
}
// var_dump($administrators);
for ($i = 0; $i < count($administrators); $i++) {
$administrator[] = $administrators[$i]['administrator'];
$passwords[] = $administrators[$i]['password'];
}
// var_dump($administrator);
// var_dump($passwords);
if (!in_array((string)$_POST['administrator'], $administrator)) {
$GLOBALS['error_msg'] = '您输入的管理员账号不存在';
return;
}
if (!in_array((string)$_POST['password'], $passwords)) {
$GLOBALS['error_msg'] = '密码错误';
return;
}
// 账号和密码都存在了----判断密码和账号与数据库中是否一致
$index = array_search($_POST['administrator'], $administrator);
if ((string)$_POST['password'] !== $passwords[$index]) {
$GLOBALS['error_msg'] = '密码错误';
return;
}
// 在数据库找到了相应的账号和密码
$GLOBALS['success_msg'] = '登录成功';
// 延时2秒执行后面的代码
time_sleep_until(time() + 2);
// 跳转到内容页面(并将账号一并传过去,区分用户账号以显示各个用户对应的界面)
header("Location: student_info.php?id={$_POST['administrator']}");
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
login();
}
注册实现
HTML:
<div class="container">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" complete="on">
<?php if (isset($error_msg)): ?>
<div class="alert alert-danger" role="alert"><?php echo $error_msg; ?></div>
<?php endif ?>
<?php if (isset($success_msg)): ?>
<div class="alert alert-info" role="alert"><?php echo $success_msg; ?></div>
<?php endif ?>
<div class="form-group">
<label for="administrator">管理员账户(11位手机号码即可)</label>
<input type="number" class="form-control" name="administrator" id="administrator" value="<?php echo isset($_POST['administrator']) ? $_POST['administrator'] : ''; ?>">
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" name="password" id="password" class="form-control" value="<?php echo isset($_POST['password']) ? $_POST['password'] : ''; ?>">
</div>
<div class="form-group">
<label for="check-pwd">确认密码</label>
<input type="password" name="check-pwd" id="check-pwd" class="form-control">
</div>
<button class="btn btn-info btn-block btn-md">注册</button>
</form>
</div>
CSS:
<link rel="stylesheet" type="text/css" href="css/Bootstrap.css">
<style type="text/css">
.container {
margin-top: 100px;
}
</style>
PHP:
function register () {
$connection = mysqli_connect('localhost', 'root', '密码', 'students_info_system');
if (!$connection) {
$GLOBALS['error_msg'] = '连接数据库失败';
return;
}
$query = mysqli_query($connection, 'select * from administrators');
if (!$query) {
$GLOBALS['error_msg'] = '查询数据失败';
return;
}
while ($administrator = mysqli_fetch_assoc($query)) {
$administrators[] = $administrator;
}
// var_dump($administrators);
// 获取数据库中已经注册的账号
for ($i = 0; $i < count($administrators); $i++) {
$administrator[] = $administrators[$i]['administrator'];
}
if (empty($_POST['administrator'])) {
$GLOBALS['error_msg'] = '请输入管理员账户';
return;
}
if (strlen($_POST['administrator']) !== 11) {
$GLOBALS['error_msg'] = '您输入的管理员账户不符合相关规定,请重新输入';
$_POST['administrator'] = '';
return;
}
// 判断该账号是否已被注册
if (in_array($_POST['administrator'], $administrator)) {
$GLOBALS['error_msg'] = '该账号已被注册,请另起账号';
return;
}
if (empty($_POST['password'])) {
$GLOBALS['error_msg'] = '请输入密码';
return;
}
if (empty($_POST['check-pwd'])) {
$GLOBALS['error_msg'] = '请确认密码';
return;
}
if ($_POST['check-pwd'] !== $_POST['password']) {
$GLOBALS['error_msg'] = '两次密码输入不一致,请重新确认密码';
return;
}
$administrator = $_POST['administrator'];
$password = $_POST['password'];$query = mysqli_query($connection, "insert into administrators values ({$administrator}, '{$password}')");
if (!$query) {
$GLOBALS['error_msg'] = '查询数据失败';
return;
}
$affected_rows = mysqli_affected_rows($query);
if ($affected_rows !== 1) {
$GLOBALS['error_msg'] = '插入数据失败';
}
$GLOBALS['success_msg'] = '注册成功';
// 延时2秒执行后面的语句
time_sleep_until(time() + 2);
header('Location: index.html');
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
register();
}
Bootstrap 结合 PHP ,做简单的登录以及注册界面及功能的更多相关文章
- [转]分别使用Node.js Express 和 Koa 做简单的登录页
本文转自:https://blog.csdn.net/weixin_38498554/article/details/79204240 刚刚学了Koa2,由于学的不是很深,并没有感受到网上所说的Koa ...
- Python 做简单的登录系统
案例 之 登录系统原创作品1 该随笔 仅插入部分代码:全部py文件源代码请从百度网盘自行下载! 链接:https://pan.baidu.com/s/1_sTcDvs5XEGDcnpoQEIrMg 提 ...
- 第十五篇-EditText做简单的登录框
TextView和EditText的简单应用. MainActivity.java package com.example.aimee.edittexttest; import android.sup ...
- JSP+MySQL最简单的登录和注册的实现 --Java Web温习
一.开发环境 开发工具:eclipse 2018-09 操作系统:win10 二.实现 1.目录结构: 2.数据库(创建tmp数据库,新建user表,user表结构如下) 3.功能简介 功能比较简单, ...
- python利用django实现简单的登录和注册,并利用session实现了链接数据库
利用session实现与数据库链接,登录模块(在views.py) def login(request): # return HttpResponseRedirect('/') # 判断是否post方 ...
- 使用md5加密算法完成简单的登录和注册功能
原理: 登录:后端controller层获取到客户的密码,通过下面代码:new Sha256Hash(pwd).toHex();将密码转换成md5散列,生成一个新的字符串与数据库的值进行比对,根据不同 ...
- SpringMVC demo 小例子,实现简单的登录和注册
1.创建一个动态的web工程 2.导入springMvc所需要的jar包(这里可以去网上找,资源有很多) 前两部就不详细描述了,后面才是正经代码~ 首先有一个web.xml文件,这个属于大配置文件,由 ...
- mybatis 和servlet使用MVC实现用户登录,注册,退出
普通实现: USerMapper.java: package com.bjsxt.mapper; import org.apache.ibatis.annotations.Param; import ...
- swing 实现用户登录注册界面(不使用数据库)
swing 实现用户登录注册界面(不使用数据库) 实现的功能 先说一下具体实现的功能吧:用户注册后会将注册的对象存入内存中,登录时会遍历注册的对象列表,判断是否登录成功: 登录和注册界面: 本次实验分 ...
随机推荐
- js - 总结一下条件语句优化
[笔记] // 简单的语句用三目运算符也可以的(除了需要return的) 1 == 1 ? console.log('执行了...1') : console.log(); 1 == 2 ? conso ...
- mysql增删改查sql语句
未经允许,禁止转载!!!未经允许,禁止转载!!! 创建表 create table 表名删除表 drop table 表名修改表名 rename table 旧表名 to 新表名字创建数 ...
- 《你必须知道的javascript(上)》- 2.this与对象原型
1 关于this 1.1 为什么使用this 随着你的使用模式越来越复杂,显式传递上下文对象会让代码变得越来越混乱,使用this则不会这样.当我们介绍对象和原型时,你就会明白函数可以自动引用合适的上下 ...
- (转)CentOS 7.6 上编译安装httpd 2.4.38
原文:https://www.s4lm0x.com/archives/40.html https://www.cnblogs.com/sunshine-H/p/8110608.html----超详细 ...
- LODOP纸张/打印机/份数/打印方向/双面打印 简短问答
纸张#如何设置纸张纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html纸张的一些优先级 http://www.c-lodop.com ...
- 一文读懂ZooKeeper (转)
什么是ZooKeeper ZooKeeper 是一个分布式的,开放源码的分布式应用程序协同服务.ZooKeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集 ...
- spring中Bean的懒加载
在ApplicationContext容器中,当容器一启动时,所有的bean(单例的)都会被创建和注入依赖,这也被视为IOC容器启动过程中的一个步骤. 那如何让一个bean在需要的时候再被创建,而不是 ...
- 通过python批量修改mp3名称
下载歌曲软件:音乐狂 下载格式:[xxxx]xxxx.mp3 import osimport re path = 'c:\\test' old_dir = os.listdir(path) print ...
- DHCP的配置方法
1.实验拓扑图: 2.配置命令: AR2: <Huawei>system-view[Huawei]dhcp enable #开启DHCP服务[Huawei]interface G ...
- 倒数第K个结点
typedef struct Lnode{ int data; struct Lnode *next; }Lnode,*Link; Link fi(Link head,int k){ Link fa ...