この記事では主に thinkPHP で実装された認証コード ログイン機能を紹介し、thinkPHP の認証コード ログイン認証機能の関連実装テクニックを分析します。必要な方は参考にしてください。
この記事の例では、認証コード ログイン機能について説明します。 thinkPHP によって実装されています。参考までに皆さんと共有してください。詳細は次のとおりです:
thinkphp 独自の検証を使用して、ログイン ページのアカウント パスワード + 検証コードを検証します
<?php namespace Admin\Controller; use Think\Controller; use Think\Verify; class LoginController extends Controller{ public function login(){ if($_POST){ $obj = new Verify(); if($obj->check(I('post.yanzhengma','','trim'))){ // 注释部分为另外一种从数据库中验证密码的方法 // $data['name'] = I('post.user_name'); // $data['psd'] = I('post.password'); // $row = M('user')->where($data)->find(); $name = I('post.user_name'); $psd = I('post.password'); $str = 'name ="'.$name. '" and tel = "'.$psd.'"'; var_dump($str); $row = M('user')->where($str)->find(); if($row) $this->redirect("Index/index"); else $this->redirect('login','',1,'用户名或密码错误'); } else{ $this->redirect('login','',1,'验证码错误'); } } $this->display(); } public function verifyImg(){ //设置验证码的宽高字体大小以及验证码的个数,设计其他的参照Think\Verify里面的设置 $config=array( 'imageW' => 150, 'imageH' => 40, 'fontSize' => 20, 'length' => 4 ); $obj = new \Think\Verify($config); $obj->entry(); } }
フォーム部分
<form action="login" method="post"> <table valign="top" width="50%"> <tr><td colspan="2"><h4 style="letter-spacing:1px;font-size:16px;">RainMan 网站管理后台</h4></td></tr> <tr><td>管理员:</td><td><input type="text" name="user_name" value="" /></td></tr> <tr><td>密 码:</td><td><input type="password" name="password" value="" /></td></tr> <tr><td>验证码:</td> <td><input type="text" name="yanzhengma" value="" style="width:80px;"/></td> <td><img src="__URL__/verifyImg" onclick="this.src='__URL__/verifyImg/'+Math.random()" alt=""/></td> </tr> <tr class="bt" align="center"><td> <input type="submit" value="登陆" /></td><td> <input type="reset" value="重填" /></td></tr> </table> </form>
関連する推奨事項:
複数フィールドのあいまい一致クエリを実装する ThinkPHP メソッド
ファイルのアップロードとファイルのダウンロードを実装する Tinkphp メソッド
以上がthinkPHPで実装された認証コードログイン機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。