首頁  >  文章  >  後端開發  >  php 怎麼實現七天自動登錄

php 怎麼實現七天自動登錄

藏色散人
藏色散人原創
2021-12-16 10:31:422819瀏覽

php實現七天自動登入的方法:1.新show.php檔案實作登入頁面;2、建立function.php檔案實作加密cookie;3、設定使用者名稱和密碼的判斷;4、開啟session並實現一周內自動登入即可。

php 怎麼實現七天自動登錄

本文操作環境:Windows7系統,PHP7.4版,Dell G3電腦。

php 怎麼實現七天自動登入?

PHP實作一週內自動登陸:

1 .新建四個檔案
php 怎麼實現七天自動登錄

show.php

<?php
?>
<html >

<head>
<meta charset="utf-8">
<title>测试</title>
</head>
<body>
<form action="login.php" method="post">
用户名<input type="text" name="name"/>
密码<input type="text" name="psd"/>
自动登录<input type="radio" name="auto">
    <input type="submit" value="提交"/>

</form>
</body>
</html>

function.php//加密cookie
這裡我用了異或加密的方法,因為經過兩次異或,會變回原來的值

<?php
function encryption ($value, $type=0) {
$key = md5(&#39;denglu&#39;);//里边的字符可以自己设置
if (!$type) {
return str_replace(&#39;=&#39;, &#39;&#39;, base64_encode($value ^ $key));
}

$value = base64_decode($value);
return $value ^ $key;
}

login.php

<?php
require_once(&#39;function.php&#39;);
session_start();//开启session
header("Content-Type: text/html; charset=UTF-8");

/*
 * 添加一些用户名和密码的判断
 * 。。。。。。。。。
 */

if(isset($_POST[&#39;auto&#39;])){//如果勾选了自动登陆一周
    if(!isset($_COOKIE[&#39;auto&#39;])){
        setcookie(&#39;auto&#39;,encryption($_POST[&#39;name&#39;]),7*24*3600+time());//设置cookie过期时间为一周后
    }
    $_SESSION[&#39;name&#39;] = $_POST[&#39;name&#39;];
    header(&#39;location:success.php&#39;);
}else{//没有勾选自动登陆一周
    $_SESSION[&#39;name&#39;] = $_POST[&#39;name&#39;];
    header(&#39;location:success.php&#39;);
}

success.php

<?php
session_start();//开启session
require_once(&#39;function.php&#39;);
header("Content-Type: text/html; charset=UTF-8");
if(isset($_SESSION[&#39;name&#39;])){
echo &#39;成功登陆session:用户名为&#39;.$_SESSION[&#39;name&#39;];
}
elseif(isset($_COOKIE[&#39;auto&#39;])){
echo &#39;成功登陆cookie:用户名为&#39;.encryption($_COOKIE[&#39;auto&#39;],1);
}else{//什么都没有的跳转到登录表单
header(&#39;location:show.php&#39;);
}

?>

執行一下
php 怎麼實現七天自動登錄

查看一下cookie

php 怎麼實現七天自動登錄

把瀏覽器關閉再打開,此時是讀取cookie
php 怎麼實現七天自動登錄

這裡只是提供提供一個思路,具體的登入驗證還有待讀者自己思考。

推薦學習:《PHP影片教學

#

以上是php 怎麼實現七天自動登錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn