ホームページ >バックエンド開発 >PHPチュートリアル >PHP での Cookie とセッションの使用

PHP での Cookie とセッションの使用

WBOY
WBOYオリジナル
2016-06-13 12:36:37895ブラウズ

PHP での Cookie とセッションの使用

Cookie とセッションは Java と PHP の両方でより頻繁に使用され、Cookie はクライアント側のテクノロジと見なされ、セッションはサーバー側のテクノロジと見なされます。ショッピング カートと Web サイトへの自動ログインはすべて Cookie を使用して実装できます。セッションはサーバーに保存され、自由に削除または変更できないため、検証に重点が置かれ、Cookie よりも安全です。私の学習体験を簡単に共有しましょう

1.Cookieの使用

Cookie を保存する必要がある場合は、PHP ページの setCookie 関数を直接使用して Cookie を保存できます。使用方法は次のとおりです。

<?php setCookie("username","123456",time()&#43;120);
?>

最初のパラメータは Cookie のキー、2 番目は値、3 番目は Cookie の有効期限が秒単位で示され、time() は現在時刻を示します。このコードは、Cookie が 2 分で期限切れになることを意味します

Cookie の更新にも同じ方法が使用されます。 Firefox ブラウザの場合、次のように Cookie が表示されます


以下の Cookie を削除してください

setCookie($cookiename, ''); または setCookie($cookiename, NULL); どちらのメソッドも Cookie を削除できます

Cookie の取得に関しては、$_COOKIE を使用して、この事前定義されたスーパーグローバル配列を通じてバッチで操作することもできます。

2.セッションの利用

(1) セッションを有効にする

(2) オブジェクトをセッションに追加します

 session_start();
  $_SESSION["password"]="123456";

次のようなたった 2 つの文で sessiona を保存できます。

セッションを削除するには、$_SESSION を使用します。単一のセッションを削除するには、unset($_SESSION["password"]) を使用します。すべてを削除する場合は、session_destroy();

を使用します。


セッションの実際の原理はそれほど簡単ではなく、さらに詳しく理解する必要がある場合は、firebug を使用して http リクエストとレスポンスを表示できます。サーバーはセッションを作成した後、クライアントのブラウザーに

を返します。

PHPSESID、この ID はセッションの一意の ID です。ブラウザ クライアントが次回セッションを取得するときに、この一意の ID を使用してサーバーからセッション情報を取得します。クライアントが Cookie を無効にすると、通常のコードに従って、セッションを共有できなくなります。最も簡単な 2 つの方法を次に示します

最初は URL の書き換えです。最初に PHPSESSID があるかどうかを確認し、存在する場合は session_id (SID の値) を設定します。

2 番目の方法は、php.ini の session.use_trans_sid を変更し、値を 1 に設定します


最初のタイプの場合、この状況は非常に極端でめったに発生しないため、PHP は直接使用できる SID と呼ばれる定数を提供します。具体的なコードは書きません。何か必要な場合は、コメントを書いていただければ、直接お送りします。

PHP セッションでもオブジェクトを保存できることに注意してください。このオブジェクトは使用する前に require_once で導入するのが最善です。


最後に、セッションのアプリケーションのために、インターネット上で非常に簡単な確認コードを見つけました。コードは次のとおりです

<?php session_start();
    
    Header("Content-type: image/PNG");
    $im = imagecreate(44,18); 
    $back = ImageColorAllocate($im, 245,245,245); 
    imagefill($im,0,0,$back); 
    $vcodes = "";
    srand((double)microtime()*1000000);
    
    for($i=0;$i<4;$i&#43;&#43;){
    $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); 
    $authnum=rand(1,9);
    $vcodes.=$authnum;
    imagestring($im, 5, 2&#43;$i*10, 1, $authnum, $font);
    }
    $_SESSION['VCODE'] = $vcodes;

    for($i=0;$i<100;$i&#43;&#43;) 
    {
    $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
    imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); 
    }
    ImagePNG($im);
    ImageDestroy($im);
?>

具体的な使い方の説明は不要ですPHP での Cookie とセッションの使用

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。