#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 パソコンphp でパスワードを記憶するように Cookie を設定する方法: 1.login.php ページでフォームを設定します; 2. ログイン ページのフォーム情報を確認し、Cookie を作成します; 3. セッションを確認し、Cookie を使用して割り当てます価値観、それだけです。
php でパスワードの記憶を実現次回から自動的にログイン
このブログでも「ログイン状態を記憶する」機能を実装するための方法について書いています。セッションはユーザー情報を割り当て、セッションを検出し、有効期限が切れた後に Cookie を使用して値を割り当てます。
実装プロセス中、インターネット上のいくつかのコード投稿に基づいて、次のコードが整理されました。 さらに、PHP ログインパスワードの記憶の実装アイデアを参照できます。
login.php ページで、フォーム設定を実行します。
<?php session_start(); ?> <form action="login_chk.php" method="post">
login_chk.php ページが使用されます。ログイン ページのフォーム情報を確認して Cookie を作成するには:
1 <?php 2 header("Content-type:text/html;charset=gb2312"); 3 4 session_start(); 5 include_once("conn/conn.php"); //加载数据库连接文件 6 7 error_reporting(0); 8 9 if(empty($_POST['username']) or empty($_POST['pass'])){10 echo "<script language='javascript'>alert('用户名和密码不能为空!');history.go(-1);</script>";11 }12 else{ 13 $username=$_POST['username'];14 $pass=$_POST['pass'];15 $password = md5($pass);16 $remember = $_POST['remember']; 17 18 $testrst = sqlsrv_query($conn, "select * from Employee where name like '$username' or number like '$username'"); //执行查询操作 19 20 if(!empty($remember)){ //如果用户选择了,记录登录状态就把用户名和加了密的密码放到cookie里面 21 setcookie("username", $username, time()+3600*24*30); 22 setcookie("password", $pass, time()+3600*24*30); 23 } 24 25 26 27 28 29 if(sqlsrv_has_rows($testrst)){30 31 $rst = sqlsrv_query($conn, "select * from Employee where (name like '$username' or number like '$username') and pwd = '$password'");32 33 34 if(sqlsrv_has_rows($rst)){ //判断登录用户名和密码是否正确35 $adminrow = sqlsrv_fetch_array($rst);37 $userwhethe = 0;38 $_SESSION['id']=$adminrow[0]; 41 $_SESSION['number']=$adminrow[1];42 $_SESSION['name']=$adminrow[2];43 if($username == $adminrow[1]){44 $_SESSION['type'] = 1;45 }else{46 $_SESSION['type'] = 2;47 }57 59 echo "<meta http-equiv=\"refresh\" content=\"0;url=menu.php\" />";60 64 }else{65 echo "<script>alert('密码错误,请重新登录。');history.go(-1);</script>";66 }67 }else{68 echo "<script>alert('该用户名不存在!,请重新登录。');history.go(-1);</script>";69 }70 }71 72 ?>
menu.php およびその他の機能ページはセッションをチェックします:
<?php session_start(); include_once("conn/conn.php"); error_reporting(0); if(empty($_SESSION['name']) and empty($_SESSION['id'])){ //判断当前用户是否为登录状态 echo "<script>alert('请登录后再进行执行操作!');history.go(-1);</script>"; }else{ ?> 网页主体 ?>
セッションのチェックと割り当て用の Cookie の無効化については、 Index1.php (インデックス確認ページ) :
1 <?php 2 session_start(); 3 4 if(empty($_SESSION['username'])){ //检查一下session是不是为空 5 if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){ 6 header("location:login.php"); 7 }else{ 8 $_SESSION['name'] = $_COOKIE['username']; 9 header("location:menu.php"); 10 } 11 12 }13 ?>
に実装されています。 また、ユーザーがシステムからログアウトするか、ログアウトして再度ログインする必要があることを考慮して、ログアウトページ logout.php:
<?php session_start(); unset($_SESSION['username']); unset($_SESSION['password']); setcookie('username','',0); setcookie('password','',0); header("location:index.php"); ?>
導入後の利用はスムーズです。ただし、パスワードの Cookie とセッションの保存はあまり適切ではなく、パスワード フォームはユーザーのログイン インターフェイスにデフォルトで保存されないため、この機能のこの点はまだ改善の必要があります。
推奨学習: 「
PHP ビデオ チュートリアル以上がPHPでパスワードを記憶するようにCookieを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。