多くの場合、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 をログアウトするために使用します
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 をログアウト" //さらに引用符がある場合は二重引用符内で囲みます。 、一重引用符は必須です。
}
?>
セッション使用例
<?php //session用法实例 session_start();//启动session,必须放在第一句,否则会出错。 if($_GET['out']) { unset($_SESSION['id']); unset($_SESSION['pass']); } if($_POST['name']&&$_POST['password']) { //用于设置session $_SESSION['id']=$_POST['name']; $_SESSION['pass']=$_POST['password']; } if($_SESSION['id']&&$_SESSION['pass']) { echo "登录成功!<br/>用户ID:".$_SESSION['id']."<br />用户密码:".$_SESSION['pass']; echo "<br />"; echo "<a href='login.php?out=out'>注销session</a>"; } ?>
以上がPHP での Cookie とセッションの使用方法の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。