セッション [php]

WBOY
WBOYオリジナル
2016-06-23 14:37:031051ブラウズ

                  <p class="sycode">                 启动会话 ? 注册会话 ? 使用会话 ? 删除会话                  </p>

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

session_start()

session_register() 関数を使用してセッションを作成します

session_register() 関数は、セッションを暗黙的に開始するためにセッションの変数を記録するために使用されますが、 php.ini ファイル オプションを設定し、register_globals ディレクティブをオンに設定し、

して、Apache サーバーを再起動します。

注: session_register() を呼び出す場合、session_start() 関数を呼び出す必要はありません。PHP は変数の登録後に暗黙的に session_start() 関数を呼び出します。

2. セッションを登録します

セッションが開始されると、すべてが $_SESSION に保存されます。 $_SESSION 配列からセッション変数を作成するのは簡単で、配列に要素を直接追加するだけです。

                  <p class="sycode">                 <?     php     session_start     ();               //     启动session               $_SESSION     [     "     admin     "     ]      =           null     ;         //     生命一个admin的变量,并赋空值               ?>                  </p>


3. セッションの使用

まず、セッション変数にセッション ID があるかどうかを確認し、セッション ID が存在しない場合は、セッション ID を作成し、グローバル配列 $_SESSION を通じてアクセスできるようにします。このセッション変数が存在する場合、ユーザーが使用できるようにロードされます。

例えば、username Session 変数が空かどうかを確認します。空でない場合は、$myvalue にコピーします。

                  <p class="sycode">                 <?     php     if     (     !     empty     (     $_SESSION     [     '     session_name     '     ]))       $myvalue           =           $_SESSION     [     '     session_name     '     ];       ?>                  </p>


4. セッションを削除します

(1) 単一のセッションを削除します

を使用します) ですが、それはできません。 unset($_SESSION) 関数を使用すると、グローバル変数 $_SESSION が破壊され、ユーザーは $_SESSION 変数を登録できなくなります。

                  <p class="sycode">                 unset     (     $_SESSION     [     '     user     '     ]);                  </p>

(2) 複数のセッションを削除

                  <p class="sycode">                 $_SESSION           =           array     ();                  </p>

(3) セッションを終了

                  <p class="sycode">                 session_destroy     ();                  </p>

セッション設定時刻

(1) セッション_set _cookie_params() は次のようにする必要があります

                  <p class="sycode">                 <?     php     $time           =           1     *     60     ;                   //     设置Session失效时间          session_set_cookie_params     (     $time     );       //     使用函数          session_start     ();                  //     初始化Session          $_SESSION     [username]      =           '     mr     '     ;     ?>                  </p>

を呼び出す前に session_start () 内で実行してください。 注: この関数は推奨されません。一部のブラウザでは問題が発生します。

(2) Setcookie()を使う

                  <p class="sycode">                 <?     php     session_start     ();     $time           =           1     *     60     ;                             //     给出Session失效时间,1分钟               setcookie     (     session_name     ()     ,     session_id     ()     ,     time     ()     +     $time     ,     "     /     "     );       //     使用setcookie()手动设置Session失效时间               $_SESSION     [     '     user     '     ]     =     '     mr     '     ;     ?>                  </p>

2. クライアントはCookieを禁止しています

(1) ログインする前にCookieをオンにします、多くのフォーラムはこれを行っています

(2) GETメソッドを使用してフォームを非表示にしますそしてsession_id(よく使われる)を渡します)

(3) session_idを保存するファイルやデータベースを使用し、ページ転送時に手動で呼び出します


============= ============= =========カット============ライン============== ==

セッションアドバンストアプリケーション

1.セッション一時ファイル

session_save_path() はセッション一時ファイルを保存します。これにより、一時ファイルの保存によって引き起こされるサーバー効率の低下とサイトを開くのが遅くなる問題を軽減できます

例:

                  <p class="sycode">                 <?     php     $path           =           '     ./tmp/     '     ;      //      设置session存储路径          session_save_path     (     $path     );      session_start     ();      //      初始化session          $_SESSION     [username]      =           true     ;     echo           "     Session文件名称为:sess_     "           ,           session_id     ();     ?>                  </p>

注: session_save_path() は session_start() 関数の間にあります


2.セッション キャッシュ

セッション キャッシュは、IE クライアントのインターネット一時ファイル フォルダーにコンテンツを保存します。プロセスを高速化するために、次回キャッシュされたコンテンツを読み取ります。

セッションキャッシュはsession_cache_limiter()関数を使用します

                  <p class="sycode">                 string session_cache_limiter     ([     string      cache_limiter])                  </p>

パラメータcache_limiterはpublicまたはprivateです。同時に、セッション キャッシュはサーバーではなくクライアントにキャッシュされ、サーバーには表示されません。

キャッシュ時間、session_cache_expire() 関数を使用します

                  <p class="sycode">                 int      session_cache_expire     ([int new_cache_expire])                  </p>

例:

                  <p class="sycode">                 <?     php     session_cache_limiter     (     '     private     '     );     $cache_limit           =           session_cache_limiter     ();     session_cache_expire     (     30     );     $cache_expire           =           session_cache_expire     ();     session_start     ();     ?>                  </p>

3.session データベースストレージ

session_set_save_handler() 関数

rr reええ



パラメータopen(save_path,session_name)close()read(key)write(key,data)destroy(key)gc( expiry_time) 例:
説明
セッションストレージアドレスを見つけて変数を削除します
パラメータは必要ありません、データベースを閉じます
セッションキー値を読み取ります、 key は session_id に対応します
、data は設定されたセッション変数に対応します
ログアウトセッションはセッションキー値に対応します
期限切れのセッション記録をクリアする

                  <p class="sycode">                 bool      session_set_save_handler     (     string      open     ,           string      close     ,           string      read     ,           string      write     ,           string      destroy     ,           string      gc)                  </p>

======================divide======== ====カット==== ========LINE================

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