<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            php用cookie實現記住登錄狀態

            時間:2025-02-02 09:46:23 php語言 我要投稿
            • 相關推薦

            php用cookie實現記住登錄狀態

              php使用cookie實現記住登錄狀態,本文用最原始的方法講解如何實現記住登錄狀態,給出3個步驟和具體實現代碼,要實現記住密碼自動登錄的功能我們大多數據都是利用了客戶端的cookies來實現,我們利用php也不例外,有需要的朋友可以參考一下。

              php制作記住密碼自動登錄的解決思路,其實也就是對session,cookies的操作

              一、檢查用戶是否登錄

              復制代碼 代碼如下:

              //檢查用戶是否登錄

              function checklogin(){

              if(empty($_SESSION['user_info'])){    //檢查一下session是不是為空

              if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){  //如果session為空,并且用戶沒有選擇記錄登錄狀

              header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);  //轉到登錄頁面,記錄請求的url,登錄后跳轉過去,用戶體驗好。

              }else{   //用戶選擇了記住登錄狀態

              $user = getUserInfo($_COOKIE['username'],$_COOKIE['password']);   //去取用戶的個人資料

              if(empty($user)){    //用戶名密碼不對沒到取到信息,轉到登錄頁面

              header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);

              }else{

              $_SESSION['user_info'] = $user;   //用戶名和密碼對了,把用戶的個人資料放到session里面

              }

              }

              }

              }

              二,用戶提交登錄信息

              復制代碼 代碼如下:

              username = trim($_POST['username']);

              $password = md5(trim($_POST['password']));

              $validatecode = $_POST['validateCode'];

              $ref_url = $_GET['req_url'];

              $remember = $_POST['remember'];

              $err_msg = '';

              if($validatecode!=$_SESSION['checksum']){

              $err_msg = "驗證碼不正確";

              }elseif($username=='' || $password==''){

              $err_msg = "用戶名和密碼都不能為空";

              }else{

              $row = getUserInfo($username,$password);

              if(empty($row)){

              $err_msg = "用戶名和密碼都不正確";

              }else{

              $_SESSION['user_info'] = $row;

              if(!empty($remember)){     //如果用戶選擇了,記錄登錄狀態就把用戶名和加了密的密碼放到cookie里面

              setcookie("username", $username, time()+3600*24*365);

              setcookie("password", $password, time()+3600*24*365);

              }

              if(strpos($ref_url,"login.php") === false){

              header("location:".$ref_url);

              }else{

              header("location:main_user.php");

              }

              }

              }

              三,當用戶點退出時,清出記錄登錄狀態

              復制代碼 代碼如下:

              //退出登錄

              function logout(){

              unset($_SESSION['user_info']);

              if(!empty($_COOKIE['username']) || !empty($_COOKIE['password'])){

              setcookie("username", null, time()-3600*24*365);

              setcookie("password", null, time()-3600*24*365);

              }

              }

              四、簡潔版實例

              復制代碼 代碼如下:

              <?

              //讀取COOKIE的用戶名和密碼的值即可

              if($_COOKIE['uname']!=''){$CKUNAME =  $_COOKIE['uname'];}

              if($_COOKIE['pwd']!=''){$CKPWD =  $_COOKIE['pwd'];}

              echo $CKUNAME;

              echo '<br>';

              echo $CKPWD;

              ?>

              <form id="form1" name="form1" method="post" action="">

              <input type="text" name="uname" id="uname" value="<?=$CKUNAME;?>" /> <input

              type="password" name="pwd" id="pwd" value="<?=$CKPWD;?>" /> <input

              name="remember" type="checkbox" value="1" <? if($CKUNAME!=''){?>

              checked="checked" <? } ?> /> 記住我! <input type="submit" name="button"

              id="button" value="登錄" />

              </form>

              <?

              //登錄,將用戶名和密碼存入到COOKIE

              if($_POST['button']!=''){

              $uname = $_POST['uname'];

              $pwd = $_POST['pwd'];

              //如果輸入的加密密碼和COOKIE中不一樣,那么就加密

              if($pwd!=$CKPWD){$pwd = md5($pwd);}

              $remember = $_POST['remember'];

              if($remember==1){

              setcookie("uname", $uname, time()+3600*24*30);

              setcookie("pwd", $pwd, time()+3600*24*30);

              }

              }

              ?>

            【php用cookie實現記住登錄狀態】相關文章:

            php使用cookie實現記住用戶名和實現代碼09-12

            php實現cookie加密的方法有哪些09-23

            php注冊和登錄界面的實現案例10-15

            PHP中使用session實現保存用戶登錄信息09-07

            php怎么刪除cookie08-12

            PHP中COOKIE支持詳解09-15

            php創建cookie獲取方法10-28

            php中cookie的使用方法09-27

            php創建獲取cookie及基礎要點11-02

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院