登录实现

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 ,做简单的登录以及注册界面及功能的更多相关文章

  1. [转]分别使用Node.js Express 和 Koa 做简单的登录页

    本文转自:https://blog.csdn.net/weixin_38498554/article/details/79204240 刚刚学了Koa2,由于学的不是很深,并没有感受到网上所说的Koa ...

  2. Python 做简单的登录系统

    案例 之 登录系统原创作品1 该随笔 仅插入部分代码:全部py文件源代码请从百度网盘自行下载! 链接:https://pan.baidu.com/s/1_sTcDvs5XEGDcnpoQEIrMg 提 ...

  3. 第十五篇-EditText做简单的登录框

    TextView和EditText的简单应用. MainActivity.java package com.example.aimee.edittexttest; import android.sup ...

  4. JSP+MySQL最简单的登录和注册的实现 --Java Web温习

    一.开发环境 开发工具:eclipse 2018-09 操作系统:win10 二.实现 1.目录结构: 2.数据库(创建tmp数据库,新建user表,user表结构如下) 3.功能简介 功能比较简单, ...

  5. python利用django实现简单的登录和注册,并利用session实现了链接数据库

    利用session实现与数据库链接,登录模块(在views.py) def login(request): # return HttpResponseRedirect('/') # 判断是否post方 ...

  6. 使用md5加密算法完成简单的登录和注册功能

    原理: 登录:后端controller层获取到客户的密码,通过下面代码:new Sha256Hash(pwd).toHex();将密码转换成md5散列,生成一个新的字符串与数据库的值进行比对,根据不同 ...

  7. SpringMVC demo 小例子,实现简单的登录和注册

    1.创建一个动态的web工程 2.导入springMvc所需要的jar包(这里可以去网上找,资源有很多) 前两部就不详细描述了,后面才是正经代码~ 首先有一个web.xml文件,这个属于大配置文件,由 ...

  8. mybatis 和servlet使用MVC实现用户登录,注册,退出

    普通实现: USerMapper.java: package com.bjsxt.mapper; import org.apache.ibatis.annotations.Param; import ...

  9. swing 实现用户登录注册界面(不使用数据库)

    swing 实现用户登录注册界面(不使用数据库) 实现的功能 先说一下具体实现的功能吧:用户注册后会将注册的对象存入内存中,登录时会遍历注册的对象列表,判断是否登录成功: 登录和注册界面: 本次实验分 ...

随机推荐

  1. Jmeter命令行运行配置环境变量

    Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...

  2. MySQL Group By 实例讲解(二)

    mysql group by使用方法实例讲解 MySQL中GROUP BY语句用于对某个或某些字段查询分组,并返回这个字段重复记录的第一条,也就是每个小组(无排序)里面的第一条. 本文章通过实例向大家 ...

  3. el-cascader遇到一个坑的问题

    经仔细分析,如果二级和三级的value一样,就会出现这个问题.

  4. [转]c++ pthread 多线程简介

    链接:https://blog.csdn.net/u013894427/article/details/83827173 pthread 入口函数类型说明void * func1(void * t)v ...

  5. SpringBoot入门-概念(一)

    SpringBoot是什么 Spring boot是一个构建在Spring框架之上.以一种更加简单快捷的方式来配置和运行web应用程序的开源框架. 为什么用SpringBoot 可以解决普通的java ...

  6. 10分钟完成一个最最简单的BLE蓝牙接收数据的DEMO

    这两天在研究蓝牙,网上有关蓝牙的内容非常有限,Github上的蓝牙框架也很少很复杂,为此我特地写了一个最最简单的DEMO,实现BLE蓝牙接收数据的问题, 不需要什么特定的UUID, 不需要什么断开重连 ...

  7. 解决在manjaro下,vscode无法将chrome作为默认浏览器打开

    Same issue. The solution is simple. Find the name of the exec command, for google chrome in arch lin ...

  8. (转)Java中的String为什么是不可变的? -- String源码分析

    背景:被问到很基础的知识点  string  自己答的很模糊 Java中的String为什么是不可变的? -- String源码分析 ps:最好去阅读原文 Java中的String为什么是不可变的 什 ...

  9. Influx Sql系列教程六:insert 修改数据

    在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢? 1 ...

  10. 查看LINUX进程内存占用情况及启动时间

    可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: (1) top top命令是Linux下常用的性能分 ...