PHP 5におけるCookieとSessionの使用の詳細

4338 ワード

1、CookieとSessionの紹介と違い
非常に多くの場合、閲覧者のサイト全体の活動を追跡し、彼らの身分を自動的にまたは半自動的に識別する必要があります(つまり、普段よく言われているサイトにログインするなどの機能)、この時、私たちはCookieとSessionを採用して追跡し、判断します.
区別する
Session情報はserver側に格納されますが、session idはclientクッキーに格納されます.もちろんphpのsession格納方法は多様化しており、cookieを無効にしても追跡できます.
Cookieはクライアントに完全に保持されています.例えば、IE firefoxはクライアントがcookieを禁止したときに使用できません.
2、Cookieの配置と応用
Setcookie(string name, string value, int expire,string path, string domain, int secure); ここでnameはクッキー変数名識別であり、phpでは通常の変数名と同様にクッキー変数を参照することができます.valueはcookie変数の初期値であり、expireはこのcookie変数の有効時間を表す.pathは、このクッキー変数の関連経路である.domainはクッキー変数を表すサイトです.secureはhttpsの安全な伝送時に有効である必要があります.
SetCookie("Cookie", "cookievalue",time()+3600, "/forum", ".php100.com", 1);CookiePHPの受信と処理はCookieの受信と処理に対するサポートが非常に良く、完全に自動的であり、FORM変数の原則と同様に、特に簡単である.例えばMyCookierというCookieを設定すると、PHPは自動的にWEBサーバから受信したHTTPヘッダからそれを分析し、普通の変数と同じ変数を形成します.$myCookieという変数で、この変数の値がCookieの値です.配列も同様に適用されます.もう一つの方法は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、制限はクライアントにある.1つのブラウザで作成できるCookieの数は最大30個で、各4 KBを超えてはならず、各WEBサイトで設定できるCookieの総数は20個を超えてはならない.3、Sessionの配置と応用
 
  
session_start();                    // session.
$_SESSION[name]=value;  // Seeeion
echo $_SESSION[name];    // session
isset($_SESSION[name]);   //
unset($_SESSION[name]);   //
session_destroy();             // session

注意:session_register(),session_unregister,session_is_registeredはphp 5では使用されません
//cookies使用例
 
  
if($_GET['out'])
{   // cookies
    setcookie('id',"");
    setcookie('pass',"");
    echo "location.href='login.php'"; // cookies , , , 。
}

if($_POST['name']&&$_POST['password']) // , cookies
{   // cookies
    setcookie('id',$_POST['name'],time()+3600);
    setcookie('pass',$_POST['password'],time()+3600);
    echo "location.href='login.php'"; // cookies

}
if($_COOKIE['id']&&$_COOKIE['pass'])
{   //cookies , cookies
    echo " !
:".$_COOKIE['id']."
:".$_COOKIE['pass'];
    echo "
";
    echo "Cookiesの ";  // , , 。
}

?>


ID:










//session使用例
 
  
//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 " !
ID:".$_SESSION['id']."
:".$_SESSION['pass'];
    echo "
";
    echo "セッションの ";
}


?>


ID: