系统设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本系统采用mvc的设计模式,框架tp3.1 分为管理员端和学生端,若不能出现页面,将student文件放到浏览器根目录,配置一下虚拟主机即可出现
管理员端可以对学生的信息进行管理,增删改查,禁用(用到了jquery的ajax),同时可以查看学生们的考勤情况,今日考勤和历史考勤,甚至是今日签到和签退的详细数目。
学生端,学生登录之后可以进行签到和签退操作,可以查看自己的考勤记录。
管理员
登录模块
public function index(){
//如果是post请求则代表登录,否则显示登录界面
if (IS_POST) {
$user = $this->_post('user');
$pass = $this->_post('pass');
$vdcode = $this->_post('vdcode');
//判断用户是否为空
if (!$user) $this->error('请输入用户名!');
//判断密码是否为空
if (!$pass) $this->error('请输入密码!');
//判断验证码是否为空
if (!$vdcode) $this->error('请输入验证码!');
//验证验证码是否正确
if (session('verify') != md5(strtoupper($vdcode))) $this->error('验证码错误!');
session('verify', null);//使验证码失效
$User = M('Users');//实例化对象
//查询用户信息
$user = $User->where("username = '" . $user .
"'")->field('user_id,username,role_type, password, is_enable, login_try_times, block_time, group_id')->find();
if (!$user) $this->error('用户不存在!', U('Login/index'));
//判断用户是否被禁用
if ($user['is_enable'] == 2) $this->error('你已经被禁用');
//将用户信息存入session
session('user_info',$user);
session('user_id',$user['user_id']);
//判断用户的角色,管理员则跳转到管理员端,学生则跳转到学生端
if($user['role_type'] == 1) $this->success('登录成功
','/AcpUser/get_student_list');
if($user['role_type'] == 2) $this->success('登录成功','/UcpSign/sign'); }
$this->assign('head_title', '管理员登录');
$this->display();
}
修改密码
public function set_password()
{ //如果为空,则代表进入修改密码界面,而不是修改密码请求
$act = $this->_post('act');
if ($act == 'save') {
$user_id = intval(session('user_id'));
$old_password = $this->_post('old_password');
$this->assign('old_password', $old_password);
$new_password = $this->_post('new_password');
$this->assign('new_password', $new_password);
$confirm_password = $this->_post('confirm_password');
$this->assign('confirm_password', $confirm_password);
//旧密码不能为空
if (!$old_password) {
$this->error('请输入旧密码');
}
//新密码不能为空
if (!$new_password) {
$this->error('请输入新密码');
}
//对新密码的长度进行判断
if (strlen($new_password) < 6) {
$this->error('密码长度不得小于6位');
}
//两次输入的密码要一致
if ($confirm_password != $new_password) {
$this->error('验证密码和新密码必须一致');
}
//查询出用户信息
$user_obj = new UserModel();
$user_info = $user_obj
->where('user_id = ' . $user_id . ' AND password = "' .
MD5($old_password) . '"')
->find();
//验证旧密码
if (!$user_info) {
$this->error('旧密码不正确');
}
$arr = array(
'password' => MD5($new_password)
);
//保存用户修改之后的密码
$success = $user_obj->updateUserInfo('user_id = '.$user_id,$arr);
//判断用户是否修改成功