ホームページ  >  記事  >  バックエンド開発  >  PHP5_PHPチュートリアルでのCookieとセッションの使用方法の詳細な説明

PHP5_PHPチュートリアルでのCookieとセッションの使用方法の詳細な説明

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

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

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

違い

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

Cookie は、IE Firefox などのクライアントに完全に保持されます。クライアントが Cookie を無効にすると、使用できなくなります。

2. Cookieの設定と適用

Setcookie(string name, string value, intexpired,string path, string domain, int secure);

name は、通常のクッキー変数を使用するのと同じように、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"];
Cookieを削除します

既存の Cookie を削除するには、2 つの方法があります:

1.SetCookie("Cookie", "");

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


Cookieの使用制限

1. HTML ファイルのコンテンツが出力される前に設定する必要があります。

2. ブラウザーによって Cookie の処理が異なるため、誤った結果が発生する場合があります。

3. 制限はクライアント側にあります。ブラウザで作成できる Cookie の最大数は 30 で、各 Cookie は 4KB を超えることはできません。各 Web サイトで設定できる Cookie の総数は 20 を超えることはできません。


3. セッションの構成とアプリケーション

次のようなコードをコピーします:

Session_Start (); // セッションを初期化する必要があります _Session [name] = value; // Seeeionecho を設定します $ _Session [name] ; / / sessionisset($_SESSION[name]) //Judge
unset($_SESSION[name]) //すべてのセッションを消費します


;
注: 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 が正常に設定された後、表示に使用されますcookies
echo "ログインに成功しました!
ユーザー名: ".$_COOKIE['id']."
パスワード: ".$_COOKIE['pass'];
echo "
";
echo "Cookie をログアウト"; //二重引用符内、さらに引用符がある場合は一重引用符が必要です。
}

?>
<フォームアクション=""メソッド="投稿">
ユーザーID:



パスワード:





//セッション使用例

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

//セッション使用例
session_start();//セッションを開始します。最初に配置する必要があります。文以外の場合はエラーが発生します。
if($_GET['out'])
{

unset($_SESSION['id']);
unset($_SESSION['pass']);
}

if($_POST['name']&&$_POST['password'])
{
//セッションの設定に使用します
$_SESSION['id']=$_POST['name'];
$_SESSION[' pass']=$_POST['パスワード'];
}

if($_SESSION['id']&&$_SESSION['pass'])
{
echo "ログイン成功!
ユーザーID: ".$_SESSION['id']。"
ユーザーパスワード: ".$_SESSION['pass'];
echo "
";
echo "セッションをログアウト< / a>";
}


?>


ユーザー ID:



パスワード:





www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/326883.html技術記事 1. Cookie とセッションの概要と違い 多くの場合、Web サイト全体で訪問者のアクティビティを追跡し、その身元を自動的または半自動的に識別する必要があります (つまり、通常...
)。