PHP での Cookie とセッションの使用方法の詳細な紹介

高洛峰
リリース: 2023-03-06 20:30:02
オリジナル
1705 人が閲覧しました

多くの場合、Web サイト全体で訪問者のアクティビティを追跡し、その身元を自動的または半自動的に識別する必要があります (つまり、よく言及される Web サイトへのログインなどの機能)。このとき、Cookie とセッションを使用することがよくあります。追跡と判断

1. Cookie とセッションの概要と違い

多くの場合、Web サイト全体で訪問者のアクティビティを追跡し、その身元 (通常、ウェブサイトログイン)クラス機能)、現時点では追跡と判断にCookieとセッションを使用することがよくあります。

違い

セッション情報はサーバー側に保存されますが、セッションIDはクライアントのCookieに保存されます。もちろん、PHPのセッション保存方法は多様であるため、Cookieが無効になっていても追跡できます

Cookie はクライアント側で完全に維持されます。例: Cookie がクライアントで無効になっている場合、IE Firefox は使用できなくなります。

2. Cookie の設定とアプリケーション

Setcookie(string name, string value, intexpired,stringpath, string Domain, int secure);
ここで、name は cookie 変数名識別子であり、通常の変数名を使用するのと同じように、これを使用して PHP で cookie 変数を参照できます。 value は cookie 変数の初期値、expired は cookie 変数の有効期間を表し、domain は cookie 変数の Web サイトを表し、secure は https が安全に送信される場合にのみ有効です。

SetCookie("Cookie","cookievalue",time()+3600, "/forum",".php100.com", 1);
Cookie の受信と処理
PHP は Cookie の受信と処理について非常に優れたサポートを備えています。は完全に自動であり、FORM 変数と同じ原理を持ち、特に単純です。
たとえば、MyCookier という名前の Cookie を設定すると、PHP は WEB サーバーが受信した HTTP ヘッダーからそれを自動的に分析し、$myCookie という名前の通常の変数と同様の変数を形成します。この変数の値が Cookie の値になります。配列にも同じことが当てはまります。もう 1 つの方法は、PHP のグローバル変数 $HTTP_COOKIE_VARS 配列を参照することです。
例は次のとおりです: (これらが前のページで設定されており、まだ有効であると仮定します)

echo $MyCookie;
echo $CookieArray[0];
echo $_COOKIE["MyCookie"];
echo $HTTP_COOKIE_VARS [ "MyCookie"];
Cookie を削除する

既存の Cookie を削除するには、次の 2 つのメソッドがあります:

1. SetCookie("Cookie","");
2.SetCookie("Cookie", "value" , time( )-1 / time() );

Cookie の使用に関する制限事項

1. HTML ファイルのコンテンツを出力する前に設定する必要があります。
2. ブラウザーによって Cookie の処理に一貫性がなく、その結果としてエラーが発生することがあります。
3. 制限はクライアント側にあります。ブラウザで作成できる Cookie の最大数は 30 で、各 Cookie は 4KB を超えることはできません。各 Web サイトで設定できる Cookie の総数は 20 を超えることはできません。

3. セッションの設定とアプリケーション

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


session_start(); //session
isset($_SESSION[name]); _SESSION[name]); //Delete
session_destroy(); //すべてのセッションを消費します

注: session_register( )、session_unregister、session_is_registered は php5

Cookie の使用例では使用されなくなりました

if($_GET['out '])

{ //Cookie をログアウトするために使用します

setcookie('id',"");

setcookie( 'pass',"");
echo "<script>location.href='login.php' </script>";//Cookie は時間内に有効にならないため、再度更新したときにのみ有効になります。そのため、ログアウト後にページが自動的に更新されるようにします。
}

if($_POST['name']&&$_POST['password']) //変数ユーザー名とパスワードが存在する場合、以下に Cookie を設定します
{ //Cookie の設定に使用されます
setcookie('id',$_POST [ 'name'],time()+3600);
setcookie('pass',$_POST['password'],time()+3600);
echo"<script>location.href='login.php ' </script>"; //Cookie を適時に有効にします
}
if($_COOKIE['id']&&$_COOKIE['pass'])
{ //Cookie が正常に設定されると、 Cookie を表示するために使用されます
echo "ログインに成功しました!
ユーザー名: ".$_COOKIE['id']."
パスワード: ".$_COOKIE['pass'];
echo "
echo "Cookie をログアウト" //さらに引用符がある場合は二重引用符内で囲みます。 、一重引用符は必須です。
}

?>


ユーザー ID:

< ;br/>
パスワード:




セッション使用例

<?php
//session用法实例
session_start();//启动session,必须放在第一句,否则会出错。
if($_GET[&#39;out&#39;])
{
     
    unset($_SESSION[&#39;id&#39;]);
    unset($_SESSION[&#39;pass&#39;]);
}
if($_POST[&#39;name&#39;]&&$_POST[&#39;password&#39;])
{   
   //用于设置session
    $_SESSION[&#39;id&#39;]=$_POST[&#39;name&#39;];
    $_SESSION[&#39;pass&#39;]=$_POST[&#39;password&#39;];
}
if($_SESSION[&#39;id&#39;]&&$_SESSION[&#39;pass&#39;])
{
    echo "登录成功!<br/>用户ID:".$_SESSION[&#39;id&#39;]."<br />用户密码:".$_SESSION[&#39;pass&#39;];
    echo "<br />";
    echo "<a href=&#39;login.php?out=out&#39;>注销session</a>";
}

?>
ログイン後にコピー


ユーザーID:



パスワード:





以上がPHP での Cookie とセッションの使用方法の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!