thinkphp 3.2 实现登录功能+验证码
<?php
namespace Model;
use ThinkModel;
class UserModel extends Model {
function checkNamePwd($mg_name, $mg_password) {
//实例化模型User
$user = M("User");
//接收控制器传的数据,进行判断是否一致。并且返回
$info = $user->getBy_mgname($mg_name);
//如果name属性数据存在则进行判断对应的密码是否一致,同时返回。
if ($info != null) {
//验证密码
if ($info["mg_password"] == $mg_password) {
return $info;
} else {
return false;
}
} else {
return false;
}
}
}
?>
<?php
//命名空间
namespace HomeController;
use ThinkController;
class UserController extends Controller {
//登录
function login() {
if (!empty($_POST)) {
//校验验证码
//实例化thinkphp3.2 框架的Verify 类,并且进行判断。
$verify = new ThinkVerify();
if (!$verify->check($_POST["captcha"])) {
// 检查验证码
// I("id",0); 获取id参数 自动判断get或者post I("post.name","","htmlspecialchars");
// 获取$_POST["name"] I("get."); 获取$_GET
$verify = I("param.verify", "");
if (!check_verify($verify)) {
$this->error("亲,验证码输错了哦!", $this->site_url, 1);
}
} else {
//实例化Model
$user = new ModelUserModel();
$rst = $user->checkNamePwd($_POST["mg_name"], $_POST["mg_password"]);
// == 全等于
if ($rst === false) {
echo "用户名或密码错误";
} else {
session("mg_name", $rst["mg_name"]);
session("mg_id", $rst["mg_id"]);
//跳转页面, 在控制器里面直接使用redirect() 方法跳转
$this->redirect("Index/index", 0);
}
}
}
$this->display();
}
//退出系统
function loginout() {
session(null);
$this->redirect("User/login", 0);
}
//创建验证码
function verifyImg() {
//设置验证码的样式
$config = array(
"imageH" => 25, // 验证码图片高度
"imageW" => 120, // 验证码图片宽度
"fontttf" => "4.ttf", // 验证码字体,不设置随机获取
"length" => 4, //验证码长度
"fontSize" => 14, // 验证码字体大小(px)
);
$verify = new ThinkVerify($config);
//创建验证
$verify->entry();
}
//“空操作”此方法用来友情提示!
function _empty($param) {
echo "对不起,此方法不存在!";
}
}
?>
<script type="text/javascript" >
/*获取captcha_img 的图片*/
var captcha_img = $(".user_main_input").find("img");
//return captcha_img的src
var verifyimg = captcha_img.attr("src");
captcha_img.attr("title", "点击刷新");
//点击事件
captcha_img.click(function() {
if (verifyimg.indexOf("?") > 0) {
//&random= 拼接验证码图片
$(this).attr("src", verifyimg + "&random=" + Math.random());
} else {
$(this).attr("src", verifyimg.replace(/?.*$/, "") + "?" + Math.random());
}
});
</script>
<?php
Common文件下面的function.php (新建)
/**
* 验证码检查
* 加入全局函数
*/
function check_verify($code, $id = "") {
$verify = new ThinkVerify();
return $verify->check($code, $id);
}
?>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
