ホームページ  >  記事  >  バックエンド開発  >  php_PHPチュートリアルのパスワードを記憶して自動ログインを実装するコード

php_PHPチュートリアルのパスワードを記憶して自動ログインを実装するコード

WBOY
WBOYオリジナル
2016-07-21 15:32:14992ブラウズ

パスワードを記憶することで PHP で自動ログインを実現する方法は複数あります。以下に示す 2 つの emptyempty は、コードの強調表示にバグがあるためです。みんなが助けてくれることを願っています。

まず、ユーザーのログインチェックです

コードをコピーします コードは次のとおりです:

//ユーザーがログインしているかどうかを確認します
function checklogin(){
if(emptyempty($_SESSION[' user_info'])) { //セッションが空かどうかを確認します
if(emptyempty($_COOKIE['username']) || emptyempty($_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']); else{
$_SESSION ['user_info'] = $user; //ユーザー名とパスワードが正しい場合は、ユーザーの個人情報をセッションに入力します
}
}
}
//ユーザーがログインしているかどうかを確認します
function 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']); else{
$_SESSION ['user_info'] = $user; //ユーザー名とパスワードが正しければ、ユーザーの個人情報をセッションに入れます
}
}
}


バックグラウンドで各ページにアクセスするとき、まず上記のチェックを行う必要があります

次に、ユーザーはログイン情報を送信します

ユーザー名とパスワードを入力した後、ここに送信されます

コードをコピーします
コードは次のとおりです: $username = trim($_POST['username']); $password = md5(trim($_POST['password']));
$validatecode = $_POST['validateCode']; = $_GET['req_url'];
$remember = $_POST['remember'];

$err_msg = ”;コードが間違っています”;
}elseif($username= =” || $password==”){
$err_msg = “ユーザー名もパスワードも空にすることはできません”
$row = getUserInfo($username, $password);

if(emptyempty($row )){
$err_msg = "ユーザー名とパスワードが両方とも間違っています";
$_SESSION['user_info'] = $row; ($remember)){ // ユーザーが選択した場合、ログイン ステータスを記録するには、ユーザー名と暗号化されたパスワードを Cookie に入力します
setcookie("username", $username, time()+3600*24*365); setcookie("パスワード", $password, time() +3600*24*365);
}
if(strpos($ref_url,"login.php") === false){
header("location:". $ref_url);
}else{
header(" location:main_user.php”);
}
}
}
$username = trim($_POST['username']);
$password = md5($ _POST['パスワード']));
$validatecode = $_POST['req_url'];
$remember = $_POST['remember']; ”;
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("ユーザー名", $ユーザー名, 時間()+3600*24*365);
setcookie("パスワード", $パスワード, 時間()+3600*24*365);
}
if($ ref_url,"login.php") == = false){
header(”location:”.$ref_url);
}else{
}
}
}


$ref_url についての簡単な説明は、次の場合です: ユーザー A が b.php にアクセスするが、ユーザー A はログインしておらず、ログイン ページ login.php にジャンプし、ログイン ページでユーザーとパスワードを入力して、b にジャンプします。確認後、デフォルトのページ main_user.php にジャンプするのではなく、php ページに移動します。 b.php はユーザー A が行きたいページであるため、ユーザー エクスペリエンスは向上します。

3、ユーザーがログアウトするためにクリックすると、ログインステータスをクリアします

なぜこれを行うのですか?他の人があなたのコンピュータを使用すると、彼らはあなたの個人的なプライバシーを閲覧する可能性があるため、ユーザーが特に[終了]をクリックするとき、記録されたログインステータスをキャンセルすることをお勧めします。
コードをコピー コードは次のとおりです:

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



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

本当http://www.bkjia.com/PHPjc/322892.html技術記事パスワードを記憶することで PHP で自動ログインを実現する方法は複数あります。以下に示す 2 つの emptyempty は、コードの強調表示にバグがあるためです。みんなが助けてくれることを願っています。 1. ユーザーログイン...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。