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 实现用户登录注册界面(不使用数据库) 实现的功能 先说一下具体实现的功能吧:用户注册后会将注册的对象存入内存中,登录时会遍历注册的对象列表,判断是否登录成功: 登录和注册界面: 本次实验分 ...
随机推荐
- SpringMVC(上)
一.SpringMVC简介 (1)springMVC概述 Spring MVC属于SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块. 使用 ...
- 第07组 Beta冲刺(4/5)
队名:摇光 队长:杨明哲 组长博客:求戳 作业博客:求再戳 队长:杨明哲 过去两天完成了哪些任务 文字/口头描述:已经完成代码编辑器,暂时没有其他任务 展示GitHub当日代码/文档签入记录:(组内共 ...
- idea搭建简单ssm框架的最详细教程(新)
为开发一个测试程序,特搭建一个简单的ssm框架,因为网上看到很多都是比较老旧的教程,很多包都不能用了,eclipes搭建并且其中还附带了很多的其他东西,所以特此记录一下mac中idea搭建过程. 另: ...
- String.format()详细用法
String.format()字符串常规类型格式化的两种重载方式 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字 ...
- rConfig v3.9.2 授权认证与未授权RCE (CVE-2019-16663) 、(CVE-2019-16662)
rConfig v3.9.2 authenticated and unauthenticated RCE (CVE-2019-16663) and (CVE-2019-16662) 原文:https: ...
- bugclose使用—bug管理工具
1.前言 bugclose管理的是BUG,而不仅仅是bug.BUG概念是bugclose的创造,代表团队工作的对象,包括缺陷,任务和需求. 2.bugclose访问地址 访问地址:https://ww ...
- 【Python学习之九】模块
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.模块的使用和安装模块和C语言中的头文件以及Ja ...
- PHP 死锁问题分析
背景:对于死锁的问题,人们往往想到出现一些关于访问很缓慢,有白页现象,要是测试环境(我就真实遇到测试环境有本文谈及一样的问题)你也就重启一下PHP的php-fpm进程发现又好了,隔一段时间又出类似的问 ...
- 【Linux文件目录】的一点小结
1. 相关指令: chgrp:改变文件所属用户组 点击(此处)折叠或打开 chgrp [-R] group dirname/filename -R: 基本-r参数都是递归recursive ...
- Java开发笔记(一百零八)JSON串的定义和解析
前面提到URL尾巴支持添加请求参数,具体格式形如“参数A名称=A参数值&参数B名称=B参数值”,可是这种格式只能传递简单的键值对信息,不能传递结构化数据,也无法传递数组形式的参数,因而它不适用 ...