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
原创粉丝点击