ホームページ > バックエンド開発 > PHPチュートリアル > PHP でセッションと Cookie を同時に使用してユーザーのログイン情報を保存する方法_PHP チュートリアル

PHP でセッションと Cookie を同時に使用してユーザーのログイン情報を保存する方法_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:00:18
オリジナル
1009 人が閲覧しました

セッションと Cookie を同時に使用してユーザーのログイン情報を保存します
1. データベース接続設定ページ: connectvars.php

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

//データベースの場所
define('DB_HOST', '127.0.0.1');
//ユーザー名
define('DB_USER', 'root');
//パスワード
define('DB_PASSWORD', '19900101');
//データベース名
define('DB_NAME','test') ;
?>

2. ログインページ: logIn.php
コードをコピーしますコードは次のとおりです:

//データベースへの接続に関する関連情報を挿入します
require_once 'connectvars.php';
//セッションを開きます
session_start();
$error_msg = "";
//ユーザーがログインしていない、つまり $_SESSION['user_id'] が設定されていない場合、次のコードを実行します
if(!isset($_SESSION['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 ['Password']);
if (! Empty ($ user_username) &&! Empty ($ user_password)) {
// mysql 関数を使用して文字列
の一方向暗号化
$ QURY = "SELECT User_id, Username From Mismatch_user WHERE Username = '$ User_username' AND" "Password = Sha ('$ User_passWord')" = mysqli_query ($ dbc, $ query); ;
// ユーザーを使用します。名前とパスワードをクエリします。見つかったレコードが 1 つだけの場合は、SESSION と COOKIE を設定し、同時にページのリダイレクトを実行します。 +(60*60*24*30)); ‐‐‐‐‐‐‐ ';
$home_ url = 'loged.php';
header('Location: '.$home_url);
}
?>

/>
ユーザーがユーザー名とパスワードを入力できるようにログイン フォームを表示します -& gt; PHP
if (! Isset ($ _ session ['user_id']) ) {
echo '& lt; p class = "error" & gt;'. $error_msg.'

';
" action="「>
> ユーザー名: "/& gt; & & lt; br/ & gt;
& lt; =" パスワード " & gt; パスワード: & lt;/label & lt; input type =" パスワード "id =" パスワード "na. ?>
< /body>



レンダリング:







3. ログインページ: logged.php





コードをコピーします

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

//変数を使用する前にセッションを開く必要がありますセッションに保存されている値
session_start(); //セッションが設定されていない場合は、Cookieが設定されているかどうかを確認します

if(!isset($_SESSION['user_id'])){ if(isset($ _Cookie ['user_id'])&& sisset($ _cookie ['username'])){
‐;}}
//セッション変数を使用して、ログインステータスを確認します($ _ session ['username'] )){ echo 'あなたは '.$_SESSION['username'] としてログインしています。'< br/>';
echo ' _SESSION['username'].')';}/**ログインしたページでは、$_SESSION['username']、

* $_SESSION['user_id'] などのユーザーのセッションを使用してデータベースにクエリを実行したり、さまざまな操作を行うことができます*/?>
レンダリング:





4. セッションと Cookie ページをログアウトします。 : logOut.php (ログアウト後、lonIn.php にリダイレクト)





コードをコピー

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

/**セッションページとCookieページを同時にログアウトします*/
//ログアウトしている場合でも、セッション変数にアクセスするには最初にセッションを開始する必要があります
session_start();
//セッション変数を使用してログインステータスを確認します
if( isset($_SESSION['user_id'])){
//セッション変数をクリアするには、$_SESSION スーパーグローバル変数を空の配列に設定します
$_SESSION = array();
//セッション Cookie が存在する場合、有効期限を 1 時間前に設定して削除します
if(isset($_COOKIE[session_name()])){
setcookie(session_name(),'',time()-3600);
}
/ / 組み込みの session_destroy() 関数呼び出しを使用してセッションをキャンセルします
session_destroy();
}
//同時に、各 Cookie の有効期限を過去の時刻に設定し、次の方法で削除できるようにします。時間は秒単位です
setcookie(' user_id','',time()-3600);
setcookie('username','',time()-3600);
//location ヘッダーがブラウザーを引き起こします。別のページにリダイレクトするには
$home_url = 'logIn .php';
header('Location:'.$home_url);
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/328072.html技術記事セッションと Cookie を同時に使用してユーザーのログイン情報を保存します。 1. データベース接続設定ページ: connectvars.php 次のようにコードをコピーします: ?php //データベースの場所define('DB_HOST', '127...)
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート