ホームページ >バックエンド開発 >PHPチュートリアル >PHP は Cookie を使用してログイン状態を記憶します_PHP チュートリアル

PHP は Cookie を使用してログイン状態を記憶します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:55:58872ブラウズ

php は cookie を使用してログイン状態を記憶します

この記事では主に cookie を使用してログイン状態を記憶する php を紹介します。この記事では、ログイン状態を記憶する方法を最も独創的な方法で説明し、3 つのステップと具体的な実装コードを示します。必要な場合はそれを参照してください

パスワードを記憶して自動ログインする機能を実現するために、ほとんどのデータはクライアント側でCookieを使用して実現されており、必要な友達はそれを参照することもできます。

PHP がパスワードを記憶し、自動的にログインするための解決策は、実際にはセッションと Cookie の操作です

1. ユーザーがログインしているかどうかを確認します

コードは次のとおりです:


// ユーザーがログインしているかどうかを確認します
関数 checklogin(){
if(empty($_SESSION['user_info'])){ //セッションが空かどうかを確認します
if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){ //セッションが空で、ユーザーがログインステータスの記録を選択しなかった場合
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']); }その他{
$_SESSION['user_info'] = $user; // ユーザー名とパスワードが正しい場合は、ユーザーの個人情報をセッションに入力します
}
}
}
}
2. ユーザーがログイン情報を送信します

コードは次のとおりです:

ユーザー名 = トリム($_POST['ユーザー名']); $パスワード = md5(trim($_POST['パスワード'])); $validatecode = $_POST['validateCode']
$ref_url = $_GET['req_url']
$remember = $_POST['remember']

$err_msg = ''; if($validatecode!=$_SESSION['チェックサム']){
$err_msg = "確認コードが間違っています"; }elseif($username=='' || $password==''){
$err_msg = "ユーザー名もパスワードも空にすることはできません"; }その他{
$row = getUserInfo($ユーザー名,$パスワード);
if(空($row)){
$err_msg = "ユーザー名とパスワードが両方とも間違っています"; }その他{
$_SESSION['user_info'] = $行
; if(!empty($remember)){ //ユーザーが選択した場合、ログインステータスを記録し、ユーザー名と暗号化されたパスワードを Cookie に入れます
setcookie("ユーザー名", $ユーザー名, 時間()+3600*24*365); setcookie("パスワード", $password, time()+3600*24*365); }
if(strpos($ref_url,"login.php") === false){
header("場所:".$ref_url); }その他{
header("location:main_user.php"); }
}
}

3. ユーザーがクリックしてログアウトすると、ログイン状態をクリアします

コードは次のとおりです:


//ログアウト
関数ログアウト(){
unset($_SESSION['user_info']); if(!empty($_COOKIE['ユーザー名']) || !empty($_COOKIE['パスワード'])){
setcookie("ユーザー名", null, time()-3600*24*365); setcookie("パスワード", null, time()-3600*24*365); }
}


4. 簡易バージョンの例

コードは次のとおりです:

//COOKIE
のユーザー名とパスワードの値を読み取ります if($_COOKIE['uname']!=''){$CKUNAME = $_COOKIE['uname'];}
if($_COOKIE['pwd']!=''){$CKPWD = $_COOKIE['pwd'];}
$CKUNAME をエコーし​​ます;
echo '
';
エコー $CKPWD;
?>

name="remember" type="checkbox" value="1"
selected="チェック済み"

//ログインしてユーザー名とパスワードを COOKIE に保存します
if($_POST['ボタン']!=''){
$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);
}
}
?>


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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/990988.html技術記事 PHP は Cookie を使用してログイン状態を記憶します。 この記事では、PHP が Cookie を使用してログイン状態を記憶する方法を主に紹介し、ログイン状態を記憶する方法を 3 つのステップに分けて説明します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。