当前位置:网站首页>基于php在线考试管理系统获取(php毕业设计)
基于php在线考试管理系统获取(php毕业设计)
2022-08-01 21:21:00 【毕设源码库】
基于php在线考试管理系统
在线考试管理系统是基于php编程语言,Thinkphp框架设计,mysql数据库设计,本设计拥有考生和管理员两个角色,其中考生可以注册和登陆系统,进行在线考试,提交试卷,查看得分,管理员可以登陆后台对考试试题,考试信息,在线公告,角色权限等功能进行管理,本系统界面美观,功能齐全,适合作为php毕业设计和课程设计参考和学习。
一.技术环境
php版本:5.3 及以上
后台框架:thinkphp
开发工具: notepad++,sublime,phpstorm都可
数据库: mysql
服务器: apache
集成环境: phpstudy(或其他)
详细技术:HTML+CSS+JS+PHP+MYSQL+PhpStudy+thinkphp
二.项目文件

三.系统功能

四.代码示例
<?php
// +----------------------------------------------------------------------
// | 注册功能
// | 设计思路,首先判断用户输入的数据是否正确,在判断用户的邮箱有没有注
// | 过,满足条件,注册成功,ajaxReturn函数在include.php中
// +----------------------------------------------------------------------
//引用常用的函数
require_once('../../../config/config.php');
//获取前台发来的数据
$name = $_POST['name'];//获取用户名
$password = $_POST['password'];//获取密码
$email = $_POST['email'];//获取游戏
$password_o = $_POST['password_o'];//获取重复密码
//判断用户名
if(!$name) {
ajaxReturn(0,'用户名格式不正确,英文加数字!');
}
//判断密码是否输入正确
if(!is_password($password)) {
ajaxReturn(0,'密码格式不正确,不少于6位!');
}
//判断邮箱是否输入正确
if(!is_email($email)) {
ajaxReturn(0,'邮箱格式不正确!');
}
//判断两次密码输入是否一致
if($password != $password_o) {
ajaxReturn(0,'两次输入的密码不一致!');
}
//查询数据库是否已经注册过此邮箱
$sql = "SELECT * FROM users WHERE email='$email'";
$result1 = fetchAll($link,$sql);
if($result1) {
ajaxReturn(0,'抱歉,此邮箱已经注册过!');
}
$data = array(
'name'=>$name,
'password'=>$password,
'email'=> $email,
'addtime'=>date('Y-m-d H:i:s')
);
//保存用户的注册信息到users表,其中的$link在include.php里
$result2 = insert($link,$data,'users');
//注册成功和失败的话,返回提示
if(!$result2) {
ajaxReturn(0,'注册失败!');
}else{
ajaxReturn(1,'恭喜你注册成功');
}
<?php
// +----------------------------------------------------------------------
// | 登录功能
// | 设计思路,获取到用户输入的账号和密码,验证用户输入的数据,验证通过,
// | 保存用户的登录信息到数据库,并且生成cookie,提示用户登录成功
// +----------------------------------------------------------------------
//引用常用的函数
require_once('../../../config/config.php');
//获取登录的用户名
$name = $_POST['name'];
//获取用户的登录密码
$password = $_POST['password'];
//获取登录的角色
$role = $_POST['role'];
//判断用户输入的用户名是否为空
if (!$name) {
//如果为空,返回提示信息
ajaxReturn(0, '请输入用户名');
}
//判断用户输入的密码是否为空
if (!$password) {
ajaxReturn(0,'请输入密码');
}
//sql语句
$sql = "SELECT * FROM users WHERE name='$name' AND password='$password'";
//查询数据库用户记录,fetchOne函数在mysql.php里
$result = fetchOne($link,$sql);
//如果没有查询到此用户
if(!$result) {
ajaxReturn(0,'抱歉,登录名和密码错误!');
}else {
//保存用户的session
$user = array(
'id'=>$result['id'],
'name'=>$result['name'],
'avatar' =>$result['avatar'],
'role'=>$result['role']
);
//如果是用户登录
if($role == 1) {
if($result['role'] == 1){
//设置session,失效时间1小时
$_SESSION["user"]=$user;
ajaxReturn(1,'恭喜你,登录成功!');
}else{
ajaxReturn(0,'抱歉,你不是用户!');
}
}
//如果是管理员登录
if($role == 2 ) {
//判断是否是管理员
if($result['is_admin'] == 1) {
//设置session,失效时间1小时
$_SESSION["admin"]=$user;
//提示登录成功
ajaxReturn(2,'恭喜你,登录成功!');
}else{
//如果不是管理员,给予提示
ajaxReturn(0,'抱歉,你不是管理员!');
}
}
}
五.项目截图












边栏推荐
- 织梦发布文章提示body has not allow words错误
- C陷阱与缺陷 附录B Koenig和Moo夫妇访谈
- 深拷贝浅拷贝
- P7215 [JOISC2020] 首都 题解
- ISC2022 HackingClub白帽峰会倒计时1天!最全议程正式公布!元宇宙集结,精彩绝伦!
- JS Improvement: Handwritten Publish Subscriber Model (Xiaobai)
- Jmeter combat | Repeated and concurrently grabbing red envelopes with the same user
- 这些 hook 更优雅的管理你的状态
- LeetCode
- 附录A printf、varargs与stdarg A.3 stdarg.h ANSI版的varargs.h
猜你喜欢

An online JVM FullGC made it impossible to sleep all night and completely crashed~

2022-08-01 第五小组 顾祥全 学习笔记 day25-枚举与泛型

对C语言结构体内存对齐的理解

网络安全与基础设施安全局(CISA):两国将在网络安全方面扩大合作

测试开发人均年薪30w+?软件测试工程师如何进阶拿到高薪?

shell脚本

Questions I don't know in database kernel interview(1)

正则表达式

JS Improvement: Handwritten Publish Subscriber Model (Xiaobai)

LeetCode·32.最长有效括号·栈·动态规划
随机推荐
Questions I don't know in database kernel interview(1)
JSD-2204-Knife4j框架-处理响应结果-Day07
包含吲哚菁绿的多聚体白蛋白纳米球/载马钱子碱纳米粒的牛血清白蛋白微球的制备
0DFS中等 LeetCode6134. 找到离给定两个节点最近的节点
C pitfalls and pitfalls Chapter 7. Portability pitfalls 7.10 Free first, then realloc
淘宝获取收货地址列表的 API
How to choose Visibility, Display, and Opacity when interacting or animating
磷酸化甘露糖苷修饰白蛋白纳米粒/卵白蛋白-葡聚糖纳米凝胶的
如何封装 cookie/localStorage/sessionStorage hook?
Pytest: begin to use
记录第一次给开源项目提 PR
Jmeter combat | Repeated and concurrently grabbing red envelopes with the same user
通过这两个 hook 回顾 Set/Map 基础知识
Internet使用的网络协议是什么
MySQL 中出现的字符编码错误 Incorrect string value: ‘\x\x\x\x‘ for column ‘x‘
位运算简介
LeetCode每日一题(1807. Evaluate the Bracket Pairs of a String)
2022-08-01 第五小组 顾祥全 学习笔记 day25-枚举与泛型
idea实用快捷键合集——持续更新
测试开发人均年薪30w+?软件测试工程师如何进阶拿到高薪?