ホームページ >バックエンド開発 >PHPチュートリアル >ページオープンステータスプロンプト
情報管理ページを作成しました。複数人で操作しているため、同じメッセージを 2 人が同時に開いている場合、誰かが開いたときにステータスを通知したいと考えています。再度、誰かがすでに操作していることを示すメッセージが表示されます。方法を教えてください。
一般的には、ロックされています
追加方法については、ビジネスによって異なります。と実装
ファイルをロックできます
一般的にはロックです
追加方法については業務や実装によって異なります
ファイルをロックできます
そのテーブルはロックですか?しかし、この方法では、同じテーブル内の情報を他の人が操作することはできません。
データベース内の行テーブルをロックする方法は?それは、ビジネス ロジックの実装によって異なります。
あなたが言及したテーブル ロックとレコード ロックは、同じデータベース接続内でのみ有効です。ビジネス 選択する論理実装 あなたが言及したテーブル ロックとレコード ロックは、同じデータベース接続内でのみ有効です
誰かがすでにこの ID を操作している場合、タグを使用して ID を渡します。このリンクを開くと、誰かがすでに操作していることを示すメッセージが表示されます
クラスの書き方のヒント ファイルがロックされている場合、ファイルを操作すると false が返されますが、戻り値で判断できます
lock.php
c5108a2fd81db7cfaec1ec473c3ec8a6
フィールド zyflag を追加するなど、テーブルが開いている場合は 1 に設定します。
上記のファイル ロックまたはキャッシュ ロックの方が優れています
なぜなら、ページを開いたときにファイルとキャッシュを直接チェックして、誰かがそれを使用しているかどうかを確認できるからです
khmod.php
if(file_exists('lock/' . $_GET['id'])) die('已有人操作');file_put_contents('lock/' . $_GET['id']);//这里是原来的代码unlink('lock/' . $_GET['id']);
if(file_exists('lock/' . $_GET['id'])) die('已有人操作');file_put_contents('lock/' . $_GET['id']);//这里是原来的代码unlink('lock/' . $_GET['id']);
はい、この現象は存在します
これはロックの後遺症であり、ロックが発生した場合は管理者のみがロックを解除できます
ビジネス シナリオに応じて、セッションまたは Cookie を使用して、ページが開かれたかどうかを判断することができます。マークを付けるだけで判断できます。
セッションをどのように判断すればよいですか?