前端到后台ThinkPHP开发整站(2)

web开发作者:dayu日期:9天前点击:4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

/**
* JSON数据返回
*/
functionjsonResult($status,$message,$data){
$result=array({
‘status‘=>$status,
‘message‘=>$message,
‘data‘=>$data
});
exit(json_encode($result));
}

/**
* MD5加密密码
*/
functiongetMd5Password($password){
returnmd5($password.C(‘MD5_PRE‘));
}
?>




  公共弹出JS方法封装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
vardialog = {
/**
* 错误弹出层
* @param {String} 内容
*/
error:function(message) {
layer.open({
content: message,
icon: 2,
title:‘错误提示‘
});
},

/**
* 成功弹出层
* @param {String} 内容
* @param {String} 跳转地址
*/
success:function(message, url) {
layer.open({
content: message,
icon: 1,
yes:function() {
location.href = url;
}
});
},

/**
* 确认弹出层
* @param {String} 内容
* @param {String} 跳转地址
*/
confirm:function(message, url) {
layer.open({
content: message,
icon: 3,
btn: [‘是‘,‘否‘],
yes:function() {
location.href = url;
}
});
},

/**
* 无需跳转到指定页面的确认弹出层
* @param {string} 内容
*/
toconfirm:function(message) {
layer.open({
content: message,
icon: 3,
btn: [‘确定‘]
});
},

/**
* 加载层
*/
load:function(){
varindex = layer.load(1, {
shade: [0.6,‘#000‘]//0.1透明度的白色背景
});
returnindex;
}
}




2、登录功能:

    后台用户操作类,添加在Model层,主要用于一些数据操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
namespaceCommon\Model;
useThink\Model;

/**
* 后台用户操作类
*/
classAdminModelextendsModel{
private$_db=null;

publicfunction__construct(){
$this->_db=M(‘admin‘);
}

/**
* 根据用户名获取用户信息
* $username string 用户名
*/
publicfunctiongetAdminByUserName($username=‘‘){
$ret=$this->_db->where("user_name=‘{$username}‘")->find();
return$ret;
}

/**
* 根据adminid更新数据
* $id int id
* $data object 需更新的数据
*/
publicfunctionupdateByAdminId($id,$data){
if(!$id|| !is_numeric($id)){
throw_exception("ID不合法");
}
if(!$data|| !is_array($data)){
throw_exception(‘更新的数据不合法‘);
}
return$this->_db->where("admin_id={$id}").save($data);
}
}
?>




  

    登录功能后端实现逻辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
namespaceAdmin\Controller;
useThink\Controller;

classLoginControllerextendsController{
publicfunctionindex(){
if(session(‘adminUser‘)){
$this->redirect(‘/admin.php?c=index‘);
}
$this->display();
}

publicfunctioncheck(){
$username=$_POST[‘username‘];
$password=$_POST[‘password‘];
if(!trim($username)){
returnjsonResult(0,‘用户名不能为空‘);
}
if(!trim($password)){
returnjsonResult(0,‘密码不能为空‘);
}

$ret=D(‘Admin‘)->getAdminByUsername($username);
if(!ret ||$ret[‘status‘]!=1){
returnjsonResult(0,‘该用户不存在‘);
}

if($ret[‘password‘]!=getMd5Password($password)){
returnjsonResult(0,‘用户名或密码错误‘);
}

D("Admin")->updateByAdminId($ret[‘admin_id‘],array(‘last_login_time‘=>time()));
session(‘adminUser‘,$ret);
returnjsonResult(1,‘登录成功‘);
}
}
?>




  前端JS登录逻辑实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
varlogin={
check:function(){
//获取登录页面中的用户名 和 密码
varusername=$(‘input[name="username"]‘).val(),
password=$(‘input[name="password"]‘).val();
if(!username){
dialog.error(‘用户名不能为空‘);
}
if(!password){
dialog.error(‘密码不能为空‘);
}

varurl="/index.php?m=admin&c=login&a=check",
data={
"username":username,
"password":password
};
varload = dialog.load();
$.post(url,data,function(result){
layer.close(load);
if(result.status==0){
returndialog.error(result.message);
}
if(result.status==1){
returndialog.success(result.message,‘/admin.php?c=index‘);
}
},‘JSON‘);
}
}




  今天就简单的做到这里了,项目的开始,造轮子的时间比较长,轮子造好了,车就可以开快了!(????)?"""

源码地址:https://github.com/YoZiLin/TP-CMS

前端到后台ThinkPHP开发整站(2)

原文地址:http://www.cnblogs.com/alinaxia/p/7204010.html


下一篇       上一篇