まず、セッションの概念を紹介しましょう:
いわゆるセッションは、Microsoft によって最初に提案され、最初に ASP に統合されました。セッションの採用により、Web 開発者の作業は大幅に容易になります。一時期、ASP は世界中で普及しました。現在、php4 にはセッションのサポートも追加されており、オープンソースの力を改めて示しています。 Cookie と同様に、Session は http プロトコルのステートレス問題を解決するために、訪問中に異なるページ間でデータを送信するように設計されていますが、Session はよりシンプルで安全です。中国語にはセッションという統一した訳はなく、私は会話と訳すことに慣れています。セッションの意味については、誰もが明確に理解する必要があります。セッションとは、実際には、Web サイトを閲覧するときにブラウザを閉じることなく、Web アプリケーションの開始と終了を意味します。セッションには複数の http リクエストとレスポンスが含まれる場合があります。たとえば、freemail.263.net を使用する場合、ログインからログアウトまたはタイムアウトまでの期間がセッションの存続期間とみなされます。作成された各セッションにはセッション ID と呼ばれる固有の識別文字列があり、この文字列はクライアントに送信され、同じ固有の識別文字列エントリがサーバー側でも生成されるか、テキスト ファイルに配置されます。データベース内で。その後、プログラムはこの sessionID の下にいくつかのセッション変数を登録できます。これらの変数は、通常の変数と同様にテキストまたは数値情報を保存でき、セッションを通じて読み書きできます。セッションの一意の識別子は通常、システム内で一意のセッション ID であり、通常は非常に長い文字列です。
質問:
セッションの概念を理解した後、自分のユニットの購入、販売、在庫システムを作成する際に、複数のユーザーが同時に php アプリケーションにアクセスできるようにする必要があることがわかりました。当初設計された静的で一意のセッション ID は、データの混乱を引き起こしました。このようにして、一意のセッション ID を動的に生成することが最優先事項になります。
解決策は簡単です。phpファイル名+タイムスタンプを一意のセッションIDとして使用しました。これにより、プログラム内の各セッションが所定の位置に配置され、混乱がなくなりました。
同じ問題を抱えている友人が解決策を見つけられるように、以下に私のソースコードを公開します。
//変数を保存するために PHP セッションを開始します。
if ( empty($mysessionname) ) {
$micro = microtime();
$micro = str_replace(" ","",$micro); // ストリップアウト空白
$micro = str_replace(".","",$micro); // ピリオドを取り除きます
プログラムメモ:
ページ間で一意のセッション名の変数を渡すために mysessionname を使用します。この名前を使用する場合は、上記のプログラムに少し変更を加える必要があります。 Mysessionname は、セッションの開始前にすでに存在しているため、セッションの内部変数名にすることはできません。複数のセッションが元の Cookie ファイルを確実に上書きするため、Mysessionname を Cookie モードで保存することはできません。非表示のフォームフィールドを使用して保存できます。そうすれば問題はありません。議論するために書き込みを歓迎します。一緒にもっと良くしましょう。
http://www.bkjia.com/PHPjc/315816.html
www.bkjia.com