ホームページ >バックエンド開発 >PHPチュートリアル >PHP での Cookie とセッションの使用
PHP での Cookie とセッションの使用
Cookie とセッションは Java と PHP の両方でより頻繁に使用され、Cookie はクライアント側のテクノロジと見なされ、セッションはサーバー側のテクノロジと見なされます。ショッピング カートと Web サイトへの自動ログインはすべて Cookie を使用して実装できます。セッションはサーバーに保存され、自由に削除または変更できないため、検証に重点が置かれ、Cookie よりも安全です。私の学習体験を簡単に共有しましょう
1.Cookieの使用
Cookie を保存する必要がある場合は、PHP ページの setCookie 関数を直接使用して Cookie を保存できます。使用方法は次のとおりです。
<?php setCookie("username","123456",time()+120); ?>
Cookie の更新にも同じ方法が使用されます。 Firefox ブラウザの場合、次のように Cookie が表示されます
以下の Cookie を削除してください
setCookie($cookiename, ''); または setCookie($cookiename, NULL); どちらのメソッドも Cookie を削除できます
Cookie の取得に関しては、$_COOKIE を使用して、この事前定義されたスーパーグローバル配列を通じてバッチで操作することもできます。
2.セッションの利用
(1) セッションを有効にする
(2) オブジェクトをセッションに追加します
session_start(); $_SESSION["password"]="123456";
セッションを削除するには、$_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++){ $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); $authnum=rand(1,9); $vcodes.=$authnum; imagestring($im, 5, 2+$i*10, 1, $authnum, $font); } $_SESSION['VCODE'] = $vcodes; for($i=0;$i<100;$i++) { $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); } ImagePNG($im); ImageDestroy($im); ?>