PHP_PHP チュートリアルで Cookie を使用してユーザーのログイン情報を保存するための実装コード
Jul 21, 2016 pm 03:19 PM
cookie
php
コード
使用
保存
情報
成し遂げる
ユーザー
ログイン
の
ページ
Cookie を使用してページのログイン情報を保存します
1. データベース接続設定ページ: connectvars.php
コードをコピーします コードは次のとおりです:
<?php
//データベースの場所
define ('DB_HOST', ' localhost');
//ユーザー名
define('DB_USER', 'root');
//パスワード
define('DB_PASSWORD', '19900101');
//データベース名
define( 'DB_NAME',' test') ;
?>
2. ログイン ページ: logIn.php
コードは次のとおりです:
<?php //データベースへの接続に関する情報
require_once 'connectvars .php';
$error_msg = "";
//ユーザーが Cookie を設定しているかどうかを確認する $_COOKIE['user_id'] が設定されていない場合は、次のコードを実行します。
if(!isset($_COOKIE['user_id'] )){
if(isset($_POST['submit'])){//ユーザーがログインフォームを送信したかどうかを確認し、送信した場合は次のコードを実行します
$dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
$ user_username = mysqli_real_escape_string($dbc,trim($_POST['username']));
$user_password = mysqli_real_escape_string($dbc,trim($_POST[ 'パスワード']));
if(!empty($user_username) &&!empty($user_password)){
//MySql の SHA() 関数は文字列の一方向暗号化を実行するために使用されます
$query = "SELECT user_id, username FROM missmatch_user WHERE username = '$user_username' AND "."password = SHA('$user_password')"
//ユーザー名とパスワードを使用してクエリ
$data = mysqli_query($dbc,$query); ;
//見つかったレコードが 1 つだけの場合、COOKIE を設定し、同時にページのリダイレクトを実行します
if(mysqli_num_rows($data)==1){
$row = mysqli_fetch_array($data); user_id',$row['user_id']);
setcookie('username', $row['username']);
$home_url = 'loged.php'
header('Location: '.$home_url);
}else{// 見つかったレコードが間違っている場合は、エラー メッセージを設定します
$ error_msg = '申し訳ありませんが、ログインするには有効なユーザー名とパスワードを入力する必要があります。'; 、ログインするには有効なユーザー名とパスワードを入力する必要があります。';
}
}
}else{//ユーザーがすでにログインしている場合は、ログインしたページに直接ジャンプします
$home_url = 'loged.php';
header('Location: '.$home_url);
<html>
<title> ログイン</title> type="text/css" href="style.css" />
</ head>
<h3>Msimatch - ログイン</h3> _COOKIE['user_id']、ユーザーがログインしていない場合は、ユーザー名とパスワードを入力できるログイン フォームが表示されます -->
<?php
if(empty($_COOKIE['user_id'] )){
echo '<p class="error">'.$error_msg.'</p> ;'
?>
<!-- $_SERVER['PHP_SELF'] が独自の php を呼び出しますユーザーに代わってフォームを送信するときのファイル -->
<form method = "post" action="<?php echo $_SERVER['PHP_SELF'];?>"> ="width:250px;">
<legend>ログイン</legend>
<label for="username" >Username:</label>ユーザー名を入力しました、ユーザー名をエコーします -->
<input type="text" id="username" name="username "
value="<?php if(!empty($user_username)) echo $user_username ; ?>" />
<br/>
<label for="password">パスワード:< ;/label>
<input type="password" id="password" name="パスワード"/>gt;
</fieldset>
<br/>
<input type="submit" value= "ログイン" name="submit"/>
</form>
< ?php
}
?>
</html>
3. ログインページ: logged.php
コードをコピーします
コードは次のとおりです:
<?php
//ログインユーザー名を表示する
if(isset( $_COOKIE['username '])){
echo 'You are Logged as '.$_COOKIE['username'].'<br/>';
//「ログアウト」をクリックして、logOut に移動します。 Cookie を設定するための php ページ ログアウト echo '<a href="logOut.php"> Log Out('.$_COOKIE['username'].')</a>'; ログインしたページでは、$_COOKIE['username']、
* $_COOKIE['user_id'] などのユーザーの Cookie を使用してデータベースにクエリを実行したり、さまざまな操作を行うことができます。*/
<?php
/**Cookieのログアウトページ */
if(isset($_COOKIE['user_id'])){
//システムによって削除されるように、各 Cookie の有効期限を過去の時刻に設定します。時刻は秒単位です
setcookie。 ('user_id', '',time()-3600);
setcookie('username','',time()-3600)
}
//location ヘッダーにより、ブラウザは別のページにリダイレクトされます
$ home_url = 'ログイン.php'
;
require_once 'connectvars .php';
$error_msg = "";
//ユーザーが Cookie を設定しているかどうかを確認する $_COOKIE['user_id'] が設定されていない場合は、次のコードを実行します。
if(!isset($_COOKIE['user_id'] )){
if(isset($_POST['submit'])){//ユーザーがログインフォームを送信したかどうかを確認し、送信した場合は次のコードを実行します
$dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
$ user_username = mysqli_real_escape_string($dbc,trim($_POST['username']));
$user_password = mysqli_real_escape_string($dbc,trim($_POST[ 'パスワード']));
if(!empty($user_username) &&!empty($user_password)){
//MySql の SHA() 関数は文字列の一方向暗号化を実行するために使用されます
$query = "SELECT user_id, username FROM missmatch_user WHERE username = '$user_username' AND "."password = SHA('$user_password')"
//ユーザー名とパスワードを使用してクエリ
$data = mysqli_query($dbc,$query); ;
//見つかったレコードが 1 つだけの場合、COOKIE を設定し、同時にページのリダイレクトを実行します
if(mysqli_num_rows($data)==1){
$row = mysqli_fetch_array($data); user_id',$row['user_id']);
setcookie('username', $row['username']);
$home_url = 'loged.php'
header('Location: '.$home_url);
}else{// 見つかったレコードが間違っている場合は、エラー メッセージを設定します
$ error_msg = '申し訳ありませんが、ログインするには有効なユーザー名とパスワードを入力する必要があります。'; 、ログインするには有効なユーザー名とパスワードを入力する必要があります。';
}
}
}else{//ユーザーがすでにログインしている場合は、ログインしたページに直接ジャンプします
$home_url = 'loged.php';
header('Location: '.$home_url);
<html>
<title> ログイン</title> type="text/css" href="style.css" />
</ head>
<h3>Msimatch - ログイン</h3> _COOKIE['user_id']、ユーザーがログインしていない場合は、ユーザー名とパスワードを入力できるログイン フォームが表示されます -->
<?php
if(empty($_COOKIE['user_id'] )){
echo '<p class="error">'.$error_msg.'</p> ;'
?>
<!-- $_SERVER['PHP_SELF'] が独自の php を呼び出しますユーザーに代わってフォームを送信するときのファイル -->
<form method = "post" action="<?php echo $_SERVER['PHP_SELF'];?>"> ="width:250px;">
<legend>ログイン</legend>
<label for="username" >Username:</label>ユーザー名を入力しました、ユーザー名をエコーします -->
<input type="text" id="username" name="username "
value="<?php if(!empty($user_username)) echo $user_username ; ?>" />
<br/>
<label for="password">パスワード:< ;/label>
<input type="password" id="password" name="パスワード"/>gt;
</fieldset>
<br/>
<input type="submit" value= "ログイン" name="submit"/>
</form>
< ?php
}
?>
</html>
3. ログインページ: logged.php
コードをコピーします
コードは次のとおりです:
<?php
//ログインユーザー名を表示する
if(isset( $_COOKIE['username '])){
echo 'You are Logged as '.$_COOKIE['username'].'<br/>';
//「ログアウト」をクリックして、logOut に移動します。 Cookie を設定するための php ページ ログアウト echo '<a href="logOut.php"> Log Out('.$_COOKIE['username'].')</a>'; ログインしたページでは、$_COOKIE['username']、
* $_COOKIE['user_id'] などのユーザーの Cookie を使用してデータベースにクエリを実行したり、さまざまな操作を行うことができます。*/
?>
レンダリング:
コードをコピーします コードは次のとおりです:
<?php
/**Cookieのログアウトページ */
if(isset($_COOKIE['user_id'])){
//システムによって削除されるように、各 Cookie の有効期限を過去の時刻に設定します。時刻は秒単位です
setcookie。 ('user_id', '',time()-3600);
setcookie('username','',time()-3600)
}
//location ヘッダーにより、ブラウザは別のページにリダイレクトされます
$ home_url = 'ログイン.php'
;
http://www.bkjia.com/PHPjc/325256.html
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7287
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1342
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1206
29



Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
