PHP Cookie ログイン検証テクニックの説明_PHP チュートリアル

WBOY
リリース: 2016-07-15 13:35:00
オリジナル
1133 人が閲覧しました

ウェブサイトを構築する目的は、機能の完全性です。機能の 1 つは、ユーザーのログイン認証の実装です。以下に、

PHP Cookie ログイン検証コードの例を詳しく紹介します:

  1. < html>
  2. < ; >
  3. < タイトル>ログイン< /title>
  4. < メタ http-equiv=」 Content-Type"
    content= "text/html; charset=gb2312">
  5. < /head >
  6. < ボディ>
  7. < フォーム 名前 =「フォーム1」 メソッド=「投稿」
    アクション= 「login.php」> ;
  8. < テーブル =「300」 ボーダー ="0" align="中心"
    セルパディング="2" セル間隔="2" >
  9. < tr>
  10. < td =」 150">< div align= 「そうです」>
    用户名:< /div>< /td& gt;
  11. < ; td ="150"> < 入力 type=「テキスト」
    名前="ユーザー名">< /td>
  12. < /tr>
  13. < tr >
  14. < td>< div align =「そうです」> 秘密コード:< /div>< /td >
  15. < ; td>< input type=「パスワード」 名前=「パスコード」>< /td>
  16. < /tr>
  17. < tr>
  18. < td>< div align= 「そうです」> Cookie保存期間:< /div>< /td>
  19. <td><選択 名前=「クッキー」 id=「クッキー」>
  20. < ;オプション ="0"選択>ブラウザプロセス< /オプション>
  21. < オプション 価値= 「1」>1を保存日< /オプション> オプション
  22. = 「2」> 30日間保存< /option> ; < ;オプション
  23. =「3」> 365日間保存< /オプション> < ; /td> ;
  24. <
  25. /tr&g t;< /table>
  26. < p
  27. 整列= 「中心」 >
  28. < input type=「送信」 名前=「送信」 =「送信」>
  29. < ; 入力 タイプ=「リセット」名前=「リセット」=「リセット」 >
  30. </p><
  31. /form > <
  32. /body> <
  33. /html>
    <ol class="dp-xml"><li class="alt"><span><span class="tag"><</span><span> ?php  </span></span></li><li><span>@mysql_connect("localhost", "root","1981427")<br /> //选择数据库之前需要先连接数据库服务器  </span></li><li class="alt"><span>or die("数据库服务器连接失败");  </span></li><li><span>@mysql_select_db("test") //选择数据库mydb  </span></li><li class="alt"><span>or die("数据库不存在或不可用");  </span></li><li><span>//获取用户输入  </span></li><li class="alt"><span>$</span><span class="attribute">username</span><span> = $_POST['username'];  </span></li><li><span>$</span><span class="attribute">passcode</span><span> = $_POST['passcode'];  </span></li><li class="alt"><span>$</span><span class="attribute">cookie</span><span> = $_POST['cookie'];  </span></li><li><span>//执行SQL语句  </span></li><li class="alt"><span>$</span><span class="attribute">query</span><span> = @mysql_query("select username, <br />userflag from users "  </span></li><li><span>."where </span><span class="attribute">username</span><span> = </span><span class="attribute-value">'$username'</span><span> and <br /></span><span class="attribute">passcode</span><span> = </span><span class="attribute-value">'$passcode'</span><span>")  </span></li><li class="alt"><span>or die("SQL语句执行失败");  </span></li><li><span>//判断用户是否存在,密码是否正确  </span></li><li class="alt"><span>if($</span><span class="attribute">row</span><span> = </span><span class="attribute-value">mysql_fetch_array</span><span>($query))  </span></li><li><span>{  </span></li><li class="alt"><span>if($row['userflag'] == 1 or $row['userflag'] == 0) <br />//判断用户权限信息是否有效  </span></li><li><span>{  </span></li><li class="alt"><span>switch($cookie) //根据用户的选择设置cookie保存时间  </span></li><li><span>{  </span></li><li class="alt"><span>case 0: //保存Cookie为浏览器进程  </span></li><li><span>setcookie("username", $row['username']);  </span></li><li class="alt"><span>break;  </span></li><li><span>case 1: //保存1天  </span></li><li class="alt"><span>setcookie("username", $row['username'],<br /> time()+24*60*60);  </span></li><li><span>break;  </span></li><li class="alt"><span>case 2: //保存30天  </span></li><li><span>setcookie("username", $row['username'],<br /> time()+30*24*60*60);  </span></li><li class="alt"><span>break;  </span></li><li><span>case 3: //保存365天  </span></li><li class="alt"><span>setcookie("username", $row['username'], <br />time()+365*24*60*60);  </span></li><li><span>break;  </span></li><li class="alt"><span>}  </span></li><li><span>header("location: main.php"); <br />//自动跳转到main.php  </span></li><li class="alt"><span>}  </span></li><li><span>else  </span></li><li class="alt"><span>{  </span></li><li><span>echo "用户权限信息不正确";  </span></li><li class="alt"><span>}  </span></li><li><span>}  </span></li><li class="alt"><span>else  </span></li><li><span>{  </span></li><li class="alt"><span>echo "用户名或密码错误";  </span></li><li><span>}  </span></li><li class="alt"><span class="tag">?><span> </span>
    </li>
    </ol>PHP Cookie ログイン認証コード例:  <span><pre class="brush:php;toolbar:false"><ol class="dp-xml">
    <li class="alt"><span><span class="tag"><</span><span> ?php  </span></span></li><li><span>session_start();  </span></li><li class="alt"><span>if(isset($_COOKIE['username']))  </span></li><li><span>{  </span></li><li class="alt"><span>@mysql_connect("localhost", "root","1981427") </span></li><li class="alt"><span>//选择数据库之前需要先连接数据库服务器  </span></li><li><span>or die("数据库服务器连接失败");  </span></li><li class="alt"><span>@mysql_select_db("test") //选择数据库mydb  </span></li><li><span>or die("数据库不存在或不可用");  </span></li><li class="alt"><span>//获取Session  </span></li><li><span>$</span><span class="attribute">username</span><span> = $_COOKIE['username'];  </span></li><li class="alt"><span>//执行SQL语句获得userflag的值  </span></li><li><span>$</span><span class="attribute">query</span><span> = @mysql_query("select <br />userflag from users "  </span></li><li class="alt"><span>."where </span><span class="attribute">username</span><span> = </span><span class="attribute-value">'$username'</span><span>")  </span></li><li><span>or die("SQL语句执行失败");  </span></li><li class="alt"><span>$</span><span class="attribute">row</span><span> = </span><span class="attribute-value">mysql_fetch_array</span><span>($query);  </span></li><li><span>//获得用户权限信息  </span></li><li class="alt"><span>$</span><span class="attribute">flag</span><span> = $row['userflag'];  </span></li><li><span>//根据userflag的值输出不同的欢迎信息  </span></li><li class="alt"><span>if($</span><span class="attribute">flag</span><span> == 1)  </span></li><li><span>echo "欢迎管理员".$_SESSION['username']<br />."登录系统";  </span></li><li class="alt"><span>if($</span><span class="attribute">flag</span><span> == 0)  </span></li><li><span>echo "欢迎用户".$_SESSION['username']<br />."登录系统";  </span></li><li class="alt"><span>echo "</span><span class="tag"><</span><span> </span><span class="tag-name">a</span><span> </span><span class="attribute">href</span><span>=</span><span class="attribute-value">"logout.php"</span><span> <br /></span><span class="attribute">href</span><span>=</span><span class="attribute-value">"logout.php"</span><span class="tag">></span><span>注销</span><span class="tag"><</span><span> /a</span><span class="tag">></span><span>";  </span></span></li>
    <li><span>}  </span></li>
    <li class="alt"><span>else  </span></li>
    <li><span>{  </span></li>
    <li class="alt"><span>echo "您没有权限访问本页面";  </span></li>
    <li><span>}  </span></li>
    <li class="alt">
    <span class="tag">?></span><span> </span>
    </li>
    <li>
    <span class="tag"><</span><span> ?php  </span></li><li class="alt"><span>setcookie("username");  </span></li><li><span>echo "注销成功";  </span></li><li class="alt"><span class="tag">?></span><span> </span>
    </li>
    </ol>
    ログイン後にコピー
    上記はタイムリーな PHP Cookie ログイン認証の実装方法です。



    http://www.bkjia.com/PHPjc/445946.html

    www.bkjia.com
    tru​​e

    http://www.bkjia.com/PHPjc/445946.html技術記事 Web サイトを構築する目的は、機能の完全性です。機能の 1 つは、ユーザーのログイン認証の実装です。以下では、PHP Cookie ログイン認証コードについて詳しくご紹介します...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!