目次
phpはCookieを使用してユーザーとのセッションを実装し、phpcookieはセッションを実装します
ホームページ バックエンド開発 PHPチュートリアル PHP は Cookie を使用してユーザーとのセッションを実装します。phpcookie はセッションを実装します_PHP チュートリアル

PHP は Cookie を使用してユーザーとのセッションを実装します。phpcookie はセッションを実装します_PHP チュートリアル

Jul 13, 2016 am 10:09 AM
cookie php

phpはCookieを使用してユーザーとのセッションを実装し、phpcookieはセッションを実装します

この記事の例では、PHP が Cookie を使用してユーザー セッションを実装する方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

PHP には、単純な Cookie や本格的なユーザー セッションなど、ユーザー情報の管理と記録に使用できる関数が多数含まれています。セッションでは、スーパーグローバル変数を参照するのと同じくらい簡単に状態を保存できる、PHP 言語に組み込まれたテクノロジを使用します。

1. クッキーの紹介

PHP スクリプトで Cookie を使用して、ユーザーに関する小さな情報を保存できます。 Cookie は、サーバーまたはスクリプトからのリクエストに応じてユーザーのブラウザによって保存される少量のデータです。ユーザーのブラウザを通じて、1 人のホストが 20 個の Cookie の保存をリクエストできます。各 Cookie には、名前、値、有効期限に加えて、ホストとパスの情報が含まれています。 1 つの Cookie のサイズ制限は 4KB です。

Cookie を設定した後は、リクエストを行ったホストのみがデータを読み取ることができるため、ユーザーのプライバシーが確実に尊重されます。さらに、ユーザーは自分を介したすべての Cookie リクエストを受け入れるか拒否するようにブラウザを設定できます。したがって、Cookie は慎重に使用する必要があり、実装がユーザーに警告するように設計されていない環境では必須の要素として依存すべきではありません。

Web ブラウザが Cookie を保存するように設定されている場合、有効期限が切れるまで Cookie ベースの情報が保持されます。ユーザーがブラウザを使用して Cookie のパスとドメインに一致するページを閲覧すると、Cookie がサーバーに再送信されます。その後、PHP スクリプトは環境変数 HTTP_COOKIE にある Cookie にアクセスするか、$COOKIE スーパーグローバル変数の一部として 3 つの方法でアクセスできます。

コードをコピーします コードは次のとおりです:
echo $_SERVER["HTTP_COOKIE"]
echo getenv("HTTP_COOKIE");
echo $_COOKIE["野菜"];

2. PHPを使用してCookieを設定します

PHP スクリプトで Cookie を設定するには 2 つの方法があります。まず、header() 関数を使用して SetCookie ヘッダーを設定します。 Header() 関数は、サーバー応答のヘッダー部分に含まれる文字列を予期します。ヘッダーは自動的に送信されるため、Jehol 出力がブラウザーに送信される前に header() を呼び出す必要があります。


コードをコピーします コードは次のとおりです:
head("Set Cookie:vegetable=artichoke;expires=Tue,07-Mar-06 14:39:58 GMT;path=/;domain=yourmain. com");
難しいことではありませんが、Cookie を設定するこの方法では、ヘッダー文字列を構築する関数を記述する必要があります。この例のように日付と URL エンコーディングの名前と値のペアをフォーマットすることは特に難しい作業ではありませんが、PHP にはこれを行うための関数 setcookie() が用意されているため、繰り返しの作業となります。
Setcookie() 関数はその名前が示すとおりの動作を行い、Set-Cookie ヘッダーを出力します。したがって、他のコンテンツがブラウザに送信される前に呼び出す必要があります。この関数は、Cookie 名、Cookie 値、UNIX タイムスタンプ形式の有効期限、パス、ドメイン、および最初のパラメータに加えて、Cookie が安全な接続を介してのみ送信される場合は 1 に設定される整数を受け入れます。この関数はオプションです。


コードをコピーします コードは次のとおりです:
setcookie ( "野菜" , "アーティチョーク" , 時間 ()+3600, "/" , ".yourdomain.com" , 0);

if ( isset ( $_COOKIE [ "野菜" ])){
echo "

またこんにちは。" . $_COOKIE [ "vegetable" ] ;
" }
他に{
echo "

こんにちは。初めての訪問かもしれません。

" }
?>

スクリプトの最初の実行時に Cookie を設定したとしても、この時点では $_COOKIE["vegetable"] 変数は作成されません。 Cookie はブラウザがサーバーに送信するときにのみ読み取られるため、ユーザーがこのドメイン内のページに再度アクセスするまでは読み取れません。
正式に言えば、Cookie を削除するには、Cookie 名パラメータを指定して setcookies() を呼び出すだけです:
setcookie("野菜");
ただし、このアプローチは常に機能するとは限らず、信頼できません。代わりに、Cookie を削除するには、有効期限が切れていることが確実な時刻を Cookie に設定します。この方法が最も安全です。
Setcookie("野菜", "", time()-60, "/", "yourdomain.com", 0);
また、最初に Cookie を設定するために使用したものと同じパス、ドメイン、セキュリティ パラメータを setcookie() に渡すようにしてください。

3. セッション機能の概要

訪問者がセッション対応ページにアクセスすると、新しい識別子が割り当てられるか、ユーザーは以前の訪問ですでに確立されている識別子に再関連付けされます。すでにセッションに関連付けられている変数は、$_SESSION スーパーグローバル変数を通じてコードで使用できます。
通常、セッション状態は一時ファイルに保存されますが、session_set_save_handler() と呼ばれる関数を使用してデータベース ストレージを実装することもできます。

4. セッションを開始します

コードをコピーします コードは次のとおりです:
session_start();
echo "

セッション ID は " .session_id () ;
" ?>


5. セッション変数を使用する

すべての PHP ドキュメント内の一意のセッション識別子にアクセスできることは、セッション機能の始まりにすぎません。セッションが開始されると、必要な数の変数をスーパーグローバル変数 $_SESSION に保存し、セッション対応のページからそれらの変数にアクセスできます。

次のプログラムは、スーパーグローバル変数 $_SESSION に 2 つの変数を追加します。

コードをコピーします コードは次のとおりです:
session_start();
$_SESSION [ "product1" ] = "ソニック ドライバー" ;
$_SESSION [ "product2" ] = "HAL 2000" ;
echo "商品は登録されました。" ?>

上記のプログラムの魔法は、ユーザーが新しいページに移動するまで実現されません。次のプログラムは、スーパーグローバル変数 $_SESSION に格納されている変数にアクセスする単一の PHP スクリプトを作成します。


コードをコピーします コードは次のとおりです: session_start();
echo "選択した製品は次のとおりです:" ;
エコー「
    」 echo "
  • " . $_SESSION [ "
  • " echo "
  • " . $_SESSION [ "
  • " エコー「
」 ?>

次のプログラム リストは、ユーザーが複数の製品を選択できるフォームを作成します。セッション変数を使用して、基本的なショッピング カートを作成できます。
arraysession.php:


コードをコピーします

コードは次のとおりです:
session_start();
?>

<頭>
セッションを使用して配列を保存する


製品選択ページ


if ( isset ( $_POST [ "form_products" ])){
    if (! empty ( $_SESSION [ "products" ])){
       $products = array_unique (
       array_merge ( unserialize ( $_SESSION [ "products" ]),
       $_POST [ "form_Produces" ]));
    }
    それ以外
    {
       $_SESSION [ "products" ] = シリアル化 ( $_POST [ "form_products" ]);
    }
    echo "

あなたの製品は登録されました!

" ;
}
?>
<フォームメソッド = "POST" アクション = " " >

いくつかの商品を選択してください:

<名前を選択 = "form_product[]" 複数 = "複数" サイズ = "3" >
ソニック ドライバー
ハル 2000
ターディス
ORAC
トランスポーター ブレスレット

<入力タイプ = "送信" 値 = "選択" />



コンテンツ ページに移動




 
session1.php:
复制代码代码如下:
/*
  ※2011年1月19日作成
  *
  * この生成されたファイルのテンプレートを変更するには、
にアクセスしてください   * ウィンドウ - 設定 - PHPeclipse - PHP - コード テンプレート
  */
  session_start();
?>

<頭>
セッション変数へのアクセス


コンテンツ ページ


if ( isset ( $_SESSION [ "製品" ])){
    echo "あなたのカート:
    " ;
        foreach ( unserialize ( $_SESSION [ "products" ]) as $p ){
           エコー「
  1. 」 。 $p 。 "
  2. " ;
        }
        エコー「
」 ;
}
?>

製品選択ページに戻る




6.在查询字符串中传递会话ID

7.销毁会话と重置变量

8. 一つの带に注目册用户の環境で会话

を使用する

ここで説明されている大家向けの php プログラムの設計が役立つことを望みます。

http://www.bkjia.com/PHPjc/945701.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/945701.html技術記事 php で Cookie を使用してユーザー ミーティングを実行する方法、phpcookie でユーザー セッションを実行する方法については、この例で説明しています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles