Home >Backend Development >PHP Tutorial >How to implement ThinkPHP login function, thinkphp login implementation_PHP tutorial
The login function is a common function in PHP programming. The ThinkPHP example in this article mainly enters the homepage after successful registration and tells you the function of logged in user. The specific implementation steps are as follows:
Step one: Add:
to the config.php file
'USER_AUTH_KEY'=>'authId'
An example is as follows:
<?php if(!defined('THINK_PATH')) exit(); return array( // 定义数据库连接信息 'DB_TYPE'=> 'mysql',// 指定数据库是mysql 'DB_HOST'=> 'localhost', 'DB_NAME'=>'myuser', // 数据库名 'DB_USER'=>'root', 'DB_PWD'=>'', //您的数据库连接密码 'DB_PORT'=>'3306', 'DB_PREFIX'=>'think_',//数据表前缀 'USER_AUTH_KEY'=>'authId' ); ?>
Step 2: Use:
in the insert() code in AdminAction.class.php
Session::set(C('USER_AUTH_KEY'),$user);
Save login username to session.
The complete implementation code is as follows:
public function insert() { header('Content-Type:text/html; charset=utf-8');//防止出现乱码 $user=$_POST['user']; $this->verifyCheck(); $Pagemodel = D("user"); $vo = $Pagemodel->create(); if(false === $vo) die($Pagemodel->getError()); $topicid = $Pagemodel->add(); //add方法会返回新添加的记录的主键值 if($topicid) { //$_SESSION[C('USER_AUTH_KEY')]=$user;//不能用此句 Session::set(C('USER_AUTH_KEY'),$user); //dump(Session::get('authId')); echo "<script>alert('数据库添加成功');location.href='http://127.0.0.1/zhuce/index.php/index';</script>"; } else throw_exception("<script>alert('数据库添加失败');history.back();</script>"); }
Step 3: Use if(!Session::is_set(C('USER_AUTH_KEY')))) in the IndexAction.class.php file to determine whether the user is logged in.
Session::get(C('USER_AUTH_KEY')) is to get the name of the logged in user.
The specific code is as follows:
public function index() { if(!Session::is_set(C('USER_AUTH_KEY'))) //if(!isset($_SESSION['USER_AUTH_KEY'])||($_SESSION['USER_AUTH_KEY']==0))//不能用此句 { $msg="用户没有登录"; } else { $msg=Session::get(C('USER_AUTH_KEY')).'欢迎你回来'; } $this->assign('msg',$msg); $this->display(); }
Step 4: Display the template on the homepage, the code is as follows:
<body> {$msg}<br /> 这是我的首页 </body>
Summary:
The login code revolves around writing sessions, judging sessions, and reading sessions.
To write a session, use: Session::set(C('USER_AUTH_KEY'),$user);
Use to judge session: if(!Session::is_set(C('USER_AUTH_KEY')));
To read the session: Session::get(C('USER_AUTH_KEY'))
I hope that the implementation method of the ThinkPHP login function described in this article can be helpful to everyone's ThinkPHP program design.
It has its own rbac permission processing, please research it, it is very powerful
No need for js, the user information is saved in the cookie when logging in, and then when the page is opened, it is enough to determine whether the user information in the cookie exists