1 <?php
2
3 namespace Model;
4
5 use Think\Model;
6
7 class UserModel extends Model {
8
9 function checkNamePwd($mg_name, $mg_password) {
10 //实例化模型User
11 $user = M("User");
12 //接收控制器传的数据,进行判断是否一致。并且返回
13 $info = $user->getBy_mgname($mg_name);
14 //如果name属性数据存在则进行判断对应的密码是否一致,同时返回。
15 if ($info != null) {
16 //验证密码
17 if ($info['mg_password'] == $mg_password) {
18 return $info;
19 } else {
20 return false;
21 }
22 } else {
23 return false;
24 }
25 }
26
27 }
28
29 ?>
30
31
32
33
34
35
36
37 <?php
38
39 //命名空间
40
41 namespace Home\Controller;
42
43 use Think\Controller;
44
45 class UserController extends Controller {
46
47 //登录
48 function login() {
49 if (!empty($_POST)) {
50
51 //校验验证码
52 //实例化thinkphp3.2 框架的Verify 类,并且进行判断。
53
54 $verify = new \Think\Verify();
55 if (!$verify->check($_POST['captcha'])) {
56 // 检查验证码
57 // I('id',0); 获取id参数 自动判断get或者post I('post.name','','htmlspecialchars');
58 // 获取$_POST['name'] I('get.'); 获取$_GET
59 $verify = I('param.verify', '');
60 if (!check_verify($verify)) {
61 $this->error("亲,验证码输错了哦!", $this->site_url, 1);
62 }
63 } else {
64 //实例化Model
65 $user = new \Model\UserModel();
66 $rst = $user->checkNamePwd($_POST["mg_name"], $_POST["mg_password"]);
67 // == 全等于
68 if ($rst === false) {
69 echo '用户名或密码错误';
70 } else {
71 session("mg_name", $rst['mg_name']);
72
73 session("mg_id", $rst['mg_id']);
74 //跳转页面, 在控制器里面直接使用redirect() 方法跳转
75 $this->redirect('Index/index', 0);
76 }
77 }
78 }
79 $this->display();
80 }
81
82 //退出系统
83 function loginout() {
84 session(null);
85 $this->redirect('User/login', 0);
86 }
87
88 //创建验证码
89 function verifyImg() {
90 //设置验证码的样式
91 $config = array(
92 'imageH' => 25, // 验证码图片高度
93 'imageW' => 120, // 验证码图片宽度
94 'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
95 'length' => 4, //验证码长度
96 'fontSize' => 14, // 验证码字体大小(px)
97 );
98 $verify = new \Think\Verify($config);
99 //创建验证
100 $verify->entry();
101 }
102
103 //“空操作”此方法用来友情提示!
104 function _empty($param) {
105 echo '对不起,此方法不存在!';
106 }
107
108 }
109
110 ?>
111
112
113
114 <script type="text/javascript" >
115 /*获取captcha_img 的图片*/
116 var captcha_img = $('.user_main_input').find('img');
117 //return captcha_img的src
118 var verifyimg = captcha_img.attr("src");
119 captcha_img.attr('title', '点击刷新');
120 //点击事件
121 captcha_img.click(function() {
122 if (verifyimg.indexOf('?') > 0) {
123
124 //&random= 拼接验证码图片
125 $(this).attr("src", verifyimg + '&random=' + Math.random());
126 } else {
127 $(this).attr("src", verifyimg.replace(/\?.*$/, '') + '?' + Math.random());
128 }
129 });
130 </script>
131
132
133
134
135
136
137 <?php
138
139 Common文件下面的function.php (新建)
140 /**
141 * 验证码检查
142 * 加入全局函数
143 */
144 function check_verify($code, $id = "") {
145 $verify = new \Think\Verify();
146 return $verify->check($code, $id);
147 }
148 ?>
149
150