thinkphp 异步=登陆+注册+注销 jquery+ajax+thinkphp
来源:互联网 发布:git ssh 非22端口 编辑:程序博客网 时间:2024/05/19 13:59
用到3个页面 注册、登陆、个人中心
别忘了加载jQuery框架
1、注册界面 Register / index.html
2、注册控制器 RegisterController.class.php
3、注册模型页 RegisterModel.class.php
4、登陆界面 Login / index.html
5、登陆控制器 LoginController
6、个人中心界面 Personal / index.html
7、个人中心控制器 Personal / index.html
8、登陆css文件 public / Home / css / login.css
9、注册css文件 public / Home / css / register.css
++++++++数据表结构 user_info表
1、注册界面 Register / index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="__CSS__/personal.css"></head><body><div class="personal"> <p>个人中心页</p> <!--<p class="logout">注销</p>--> <p>欢迎你,{$username}</p> <p><button id="logout" onclick="logout()">注销</button></p> <input type="hidden" value="{:U('Personal/logout')}" name="logout" /></div></body><script src="__JS__/jquery-2.1.1.min.js"></script><script> function logout(){ var url = $('input[name="logout"]').val(); $.ajax({ url : url, dataType : 'json', success : function(res) { if(res.status == 1){ alert(res.info); window.location.href = res.url; }else{ alert(res.info); } } }); }</script></html>
2、注册控制器 RegisterController.class.php
3、注册模型页 RegisterModel.class.php<?php/** * Created by PhpStorm. * User: outusi * Date: 15/9/8 * Time: 上午10:28 */namespace Home\Controller;use Think\Controller;class RegisterController extends Controller{ public function index(){ $this->show(); } public function ajax(){ $UserInfo = D('UserInfo'); $username = I('post.username'); $data = I('post.'); // 验证数据格式 if(!$UserInfo->create($data)){ // 获取错误信息 $row = $UserInfo->getError(); $this->error($row); }else{ // 添加数据 $id = $UserInfo->add($data); // 判断是否写入成功 if($id > 0){ // 注册成功 $this->success('注册成功!', U('Login/index')); }else{ $this->error('注册失败!'); } } }}?>
<?php/** * Created by PhpStorm. * User: outusi * Date: 15/9/8 * Time: 下午12:23 */namespace Home\Model;use Think\Model;class UserInfoModel extends Model{ protected $_validate = array( array('username','require','用户名不能为空'), array('email', 'email', '邮箱格式不合法!'), array('email','require','邮箱不能为空!'), array('password','require','密码不能为空'), );}
4、登陆界面 Login / index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="__CSS__/login.css"></head><body><div class="login_page"> <div class="login">登录</div> <div class="email">E-Mail<input class="emailIpt" name="email" type="text"></div> <div class="password">密码<input class="passIpt" name="password" type="password"></div> <div class="loginSub"><button class="submit" onclick="login()">登录</button></div> <hr> <div class="prompt">没有账号?</div> <div class="loadLogin"><button class="loadLoginSub" onclick="register()">注册</button></div> <input type="hidden" value="{:U('Register/index')}" name="register" /> <input type="hidden" value="{:U('Login/login')}" name="login" /></div></body><script src="__JS__/jquery-2.1.1.min.js"></script><script> function login(){ var email = $('input[name="email"]').val(); var password = $('input[name="password"]').val(); var url = $('input[name="login"]').val(); $.ajax({ type : 'POST', url : url, data : {email:email,password:password}, dataType : 'json', success : function(res) { if(res.status == 1){ alert(res.info); window.location.href = res.url; }else{ alert(res.info); } } }); } function register(){ var register_url = $('input[name="register"]').val(); window.location.href = register_url; }</script></html>
5、登陆控制器 LoginController
<?php/** * Created by PhpStorm. * User: outusi * Date: 15/9/8 * Time: 上午10:27 */namespace Home\Controller;use Think\Controller;class LoginController extends Controller{ public function index(){ $this->show(); } public function login(){ $UserInfo = M('UserInfo'); $data = I('post.'); $email = I('post.email'); $result = $UserInfo->field('id')->where($data)->find(); $id = $result['id']; if($result){ session('email',$email); session('id',$id); $this->success('登陆成功',U('Personal/index')); }else{ $this->error('登陆失败'); } }}
6、个人中心界面 Personal / index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="__CSS__/personal.css"></head><body><div class="personal"> <p>个人中心页</p> <!--<p class="logout">注销</p>--> <p>欢迎你,{$username}</p> <p><button id="logout" onclick="logout()">注销</button></p> <input type="hidden" value="{:U('Personal/logout')}" name="logout" /></div></body><script src="__JS__/jquery-2.1.1.min.js"></script><script> function logout(){ var url = $('input[name="logout"]').val(); $.ajax({ url : url, dataType : 'json', success : function(res) { if(res.status == 1){ alert(res.info); window.location.href = res.url; }else{ alert(res.info); } } }); }</script></html>
7、个人中心控制器 Personal / index.html
<?php/** * Created by PhpStorm. * User: outusi * Date: 15/9/8 * Time: 上午11:42 */namespace Home\Controller;use Think\Controller;class PersonalController extends Controller{ public function index(){ //通过session判断用户是否登陆过 if(session('?email') && session('email')!= null){ $UserInfo = M('UserInfo'); $data['email'] = session('email'); $result = $UserInfo->field('username')->where($data)->find(); $username = $result['username']; $this->assign('username',$username); $this->display(); }else{ } } //注销 public function logout(){ $result = session_destroy(); if($result){ $this->success('注销成功',U('Login/index')); }else{ $this->error("注销失败"); } }}
8、登陆css文件 public / Home / css / login.css
/*div{text-align:center}*/.login_page{ margin:auto; height:450px; width: 400px; border: 1px solid #e1e1e8; /*background: #e1e1e8;*/}.login{ text-align: center; height: 40px; width: 100%; background:#e1e1e8;}.username{ /*float: left;*/ height: 20px; width: 370px; margin:10px auto; /*border: 1px solid #e1e1e8;*/}.userIpt{ float: left; height: 30px; width: 364px; margin:10px auto; /*margin: auto;*/}.email{ height: 20px; width: 370px; margin:40px auto; /*border: 1px solid #e1e1e8;*/}.emailIpt{ height: 30px; width: 364px; margin:10px auto ; /*margin: auto;*/}.password{ height: 20px; width: 370px; margin:65px auto; /*border: 1px solid #e1e1e8;*/}.passIpt{ height: 30px; width: 364px; margin:10px auto ; /*margin: auto;*/}.loginSub{ height: 40px; width: 370px; margin:10px auto ;}.submit{ background: cornflowerblue; width: 50px; height: 35px;}.prompt{ height: 30px; width: 370px; margin:10px auto ;}.prompt a{ text-decoration:none;}.loadLogin{ height: 30px; width: 370px; margin:10px auto;}.loadLoginSub{ background:#B0C3DF; width: 370px; height: 35px;}
9、注册css文件 public / Home / css / register.css
/*div{text-align:center}*/.register_page{ margin:auto; height:450px; width: 400px; border: 1px solid #e1e1e8; /*background: #e1e1e8;*/}.register{ text-align: center; height: 40px; width: 100%; background:#e1e1e8;}.username{ /*float: left;*/ height: 20px; width: 370px; margin:10px auto; /*border: 1px solid #e1e1e8;*/}.userIpt{ float: left; height: 30px; width: 364px; margin:10px auto; /*margin: auto;*/}.email{ height: 20px; width: 370px; margin:40px auto; /*border: 1px solid #e1e1e8;*/}.emailIpt{ height: 30px; width: 364px; margin:10px auto ; /*margin: auto;*/}.password{ height: 20px; width: 370px; margin:65px auto; /*border: 1px solid #e1e1e8;*/}.passIpt{ height: 30px; width: 364px; margin:10px auto ; /*margin: auto;*/}.regSub{ height: 40px; width: 370px; margin:10px auto ;}.submit{ background: cornflowerblue; width: 50px; height: 35px;}.prompt{ height: 30px; width: 370px; margin:10px auto ;}.prompt a{ text-decoration:none;}.loadLogin{ height: 30px; width: 370px; margin:10px auto;}.loadLoginSub{ background:#B0C3DF; width: 370px; height: 35px;}
0 0
- thinkphp 异步=登陆+注册+注销 jquery+ajax+thinkphp
- thinkphp+ajax+jquery异步实现加载更多
- thinkphp中实现ajax异步处理数据(jquery)
- thinkphp+jquery+iframe异步上传
- ThinkPHP & Jquery Ajax分页演示
- ThinkPHP & Jquery Ajax分页演示
- thinkPHP中的jQuery ajax删除
- thinkphp登陆
- thinkphp登陆
- thinkphp注册
- thinkphp注册
- Thinkphp ajax异步提交的方法总结
- Thinkphp ajax异步下载excel文件
- ThinkPHP 图片上传 图片异步上传 ajax
- thinkphp ajax
- ThinkPHP用jQuery发送ajax请求问题
- thinkphp 用jquery ajax前后台交互
- jQuery+ThinkPHP+Ajax实现即时消息提醒功能
- 零极限-《富在工作》摘要
- log日志记录是什么
- HashMap实现原理分析
- 关于MySql在调试过程中出现Driver not loaded Driver not loaded的问题的解决办法
- 九点领导力,用好非常受益
- thinkphp 异步=登陆+注册+注销 jquery+ajax+thinkphp
- 算法系列--去除排序数组中的重复元素
- 领导是什么?
- Archlinux开启ssh服务以使用终端登录
- ubuntu如何添加新的PPA
- win7命令行自由缩放
- [LeetCode-13] Roman to Integer(罗马数字转成阿拉伯数字)
- Java中关于String类和Integer类的用法小结
- 分布式开发以及GitHub使用