ThinkPHP-登陆操作
来源:互联网 发布:手机淘宝收货地址 编辑:程序博客网 时间:2024/05/29 19:41
先放一张效果图:
1. 用户登录界面代码
<!DOCTYPE HTML><html lang="en-US"><head> <meta charset="UTF-8"> <title>Login</title> <link rel="stylesheet" href="Public/css/style.css" /> <link href='http://fonts.googleapis.com/css?family=Oleo+Script' rel='stylesheet' type='text/css'> <script type="text/javascript" src="Public/js/jquery-1.7.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#login").click(function(){ var action = $("#lg-form").attr('action'); var form_data = { username: $("#username").val(), password: $("#password").val(), is_ajax: 1 }; $.ajax({ type: "POST", url: action, data: form_data, success: function(response) { if(response == "success") $("#lg-form").slideUp('slow', function(){ //document.location = 'http://www.baidu.com'; $("#message").html('<p class="success">You have logged in successfully!</p><p>Redirecting....</p>'); window.setTimeout("window.location='Home/Index'",2000); }); else $("#message").html('<p class="error">ERROR: Invalid username and/or password.</p>'); } }); return false; }); }); </script></head><body> <div class="lg-container"> <h1>大数据登陆</h1> <form action="Home/Login/DoLogin" id="lg-form" name="lg-form" method="post"> <div> <label for="username">Username:</label> <input type="text" name="username" id="username" placeholder="username"/> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password" placeholder="password" /> </div> <div> <button type="submit" id="login">Login</button> </div> </form> <div id="message"></div> </div></body></html>
这个html界面不是重点,里面一些css样式博主就不贴出来了。其实网上有很多这种登陆界面的分享。
2. 用户数据校验
1,用户数据库建立
建立用户数据库,将我们的用户信息放在数据库中。
2,PHP检验密码
使用username查询,然后循环判断密码,再将我们的用户信息存储到session中,返回成功信号。
public function DoLogin() { $is_ajax = $_REQUEST['is_ajax']; if(isset($is_ajax) && $is_ajax) { $username = $_REQUEST['username']; $password = $_REQUEST['password']; $user=M(); $where['user_name']=$username; $result = $user->db(3,"DB_CONFIG_Login")->table('login_data.login_users')->where($where)->select(); $i=0; foreach ($result as $k=>$v){ $i++; if ($result && $v['password'] == $password){ session('username',$v['user_name']); session('id',$v['id']); echo "success"; } } } }
3. 用户状态检测
我们现在已经基本完成了登陆,但我们还需要使用session做一些登陆验证,让我们使用绝对路径访问不到我们的信息(如果没有登录)
public function LoginTest(){ if(!isset($_SESSION['id']) && !isset($_SESSION['username'])){ redirect(U('/../index')); } }
然后在每个控制之前,调用test函数。
//进入网页前的登陆验证 $test=A("Login"); $test->LoginTest();
4. 用户登出
杀死session
public function outLogin(){ @setcookie('auto','',time()-1,'/'); session_unset(); session_destroy(); redirect(U('/../index')); }
0 0
- ThinkPHP-登陆操作
- thinkphp登陆
- thinkphp登陆
- Thinkphp 登陆退出
- thinkphp 退出登陆
- ThinkPHP操作
- ThinkPHP首先判断是否登陆
- thinkphp 异步=登陆+注册+注销 jquery+ajax+thinkphp
- thinkphp数据库操作
- ThinkPHP 之 curd 操作
- 【Thinkphp教程】 空操作
- ThinkPHP关联模型操作
- ThinkPHP连贯操作
- thinkphp数据库操作CURD
- ThinkPHP的数据表操作
- ThinkPHP的连贯操作
- ThinkPHP的连贯操作
- ThinkPHP的Session操作
- Java_容器_Collection_Comparable接口
- Oracle进阶二
- 数据库操作语句大全(sql)
- 性能优化之大纲
- GOF设计模式之TEMPLATE METHOD(模板方法)
- ThinkPHP-登陆操作
- Android动画机制
- (acm) The Triangle
- APK 打包过程
- linux下压缩文件命令集合
- 结构体数组
- 单链表的插入和删除
- Sublime Text 格式化代码快捷键自定义
- Solr查询参数fq