ホームページ  >  記事  >  php教程  >  PHPで無制限の有効期間セッションを使用する方法

PHPで無制限の有効期間セッションを使用する方法

WBOY
WBOYオリジナル
2016-06-21 09:02:05894ブラウズ

PHP4.0 🎜> は セッション のサポートを追加しました。これにより、ショッピング カートなどの多くのプログラムが容易になります。
多くのフォーラムでは、セッション は、ユーザーのログインを処理し、ユーザー名とパスワードを記録するためにも使用されます。ユーザー名とパスワードを毎回入力してください。ただし、一般的な セッション には有効期限があり、ユーザーがブラウザを閉じると、セッション の変数は保存できません。では、セッション の永続的な存続期間を実現するにはどうすればよいでしょうか? ご存知のとおり、セッションは、SessionIDに基づいてサーバー側に保存されます。 ユーザーのファイルを取得するには、ファイルを読み取り、変数の値を取得します。SessionIDクライアントの Cookie または Http1.1 プロトコルの Query_String (は、アクセスされた URL"?")以降の部分がサーバーに送信され、サーバーはを読み取ります。 セッション ディレクトリ ...

セッション、まず、php.iniセッション の関連設定について理解する必要があります (php を開きます) .ini ファイル ("[Session]" 部分): 1
session.use_cookies: デフォルト値は "1"SessionID を表すには Cookie を使用して渡します。それ以外の場合は Query_String を使用します。渡す : これは
SessionID
に格納されている変数名です。Cookie である可能性があります。 または Query_String を渡します。デフォルト値は "PHPSESSID" です。 🎜> 3 session.cookie_lifetime: これは セッション ID を表します。クライアント側の
Cookie 保存時間。デフォルトは 0 で、1 回を意味しますブラウザが閉じられています SessionID無効化されます...このため、セッションは永久に使用できません。 4session.gc_maxlifetime: これはサーバーに保存されている セッション データですサイドタイム、この時間を超えると、セッション データは自動的に削除されます。
多くの設定がありますが、これらはこの記事に関連するものです。永続的な セッションと手順。

前述のように、サーバーは SessionID を読み取ります。 >Session データですが、通常、ブラウザによって送信された SessionID はブラウザを閉じると失われるため、手動で設定するだけで済みます。 SessionID を保存してから、....
がある場合は、サーバー操作権限の設定は非常に簡単です。次の手順を実行するだけです:
1
" を設定するだけです。 >session.use_cookies "1 に設定され、Cookie を開いて を保存します SessionID ですが、デフォルトは 1 であり、通常は変更する必要はありません。 2
"session.cookie_lifetime" を正の無限大に変更します (もちろん、正の無限大パラメーターはありませんが、999999999 は正の無限大と変わりません); "
と同じ時間に設定されます"session.cookie_lifetime "; セットアップ後、エディタを開いて次のコードを入力します: -- ------------------------ ------------------------ ------------------------ -------- セッション開始() ; セッションレジスタ
('count');
echo $count;
------------------------ ------------------------ -----------------------
"
session_check.php< として保存します。 🎜>"

、ブラウザで開きます

"
session_check .php"、表示されるか確認してください " 1” をクリックし、ブラウザを閉じてからブラウザを開いて "session_check.php" にアクセスします ( が表示されている場合) >"2"、成功しました。失敗した場合は、以前の設定を確認してください。 ただし、サーバーを操作する権限がない場合は、PHPプログラムを介して書き換える必要があります。 SessionID は、永続的な セッション データ ストレージを実現します。 php.net の関数マニュアルを確認すると、関数 "session_id": If Ifパラメータが設定されていない場合は、現在の SessionID が返されます。パラメータが設定されている場合は、現在の SessionID は、指定された値 に設定されます...
永続的な Cookie を使用するだけです。 "session_id" 関数を追加すると、永続的な セッション データの保存を実現できます。
ただし、便宜上、サーバー設定 "session.name" を知っておく必要があります。一般ユーザーにはサーバーの php.ini 設定を表示する権限はありませんが、PHP は非常に優れた機能を提供します phpinfo、ほぼすべての PHP 情報を表示するにはこれを使用します。
----------------------------------------------------- ---------------------------------------
PHP</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">関連情報表示</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
phpinfo
()?> -------------------------------------------------- -----------------------------

エディターを開き、上記のコードを入力してから、このプログラムをブラウザで実行すると、PHP の関連情報が表示されます (図 1 に示すように)。 session.name というパラメーターが 1 つあります (図ではすでにマークされています)。これは必要なサーバーです session.name、通常は “PHPSESSID”
SessionID の名前を書き留めた後、永続的な セッションデータが保存されました!
エディターを開き、次のコードを入力します:
------ -------------------------------------------------- ------------------
session_start
(); // 開始
セッション session_register
('count'); // 登録
セッション変数カウント if(isset
($PHPSESSID)) { セッション ID
($PHPSESSID);} //
$PHPSESSID が設定されている場合、SessionID に割り当てます>$PHPSESSID、それ以外の場合は、SessionID
$PHPSESSID = session_id( ); //
現在の セッション ID
$count++ を取得します //
変数 <🎜; >countadd1
setcookie('PHPSESSID', $PHPSESSID, time()+3156000) //
保存セッション ID から Cookie echo $count; >
セッション 変数 count ?> の値を表示します。 ------------------------------------------------ -- ----------------------------------


保存後、使用してください
SessionID が正常に保存されたかどうかを確認するサーバー権限がある場合と同じ検出方法。



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