ホームページ >バックエンド開発 >PHPチュートリアル >ページオープンステータスプロンプト

ページオープンステータスプロンプト

WBOY
WBOYオリジナル
2016-06-23 13:59:07914ブラウズ

情報管理ページを作成しました。複数人で操作しているため、同じメッセージを 2 人が同時に開いている場合、誰かが開いたときにステータスを通知したいと考えています。再度、誰かがすでに操作していることを示すメッセージが表示されます。方法を教えてください。


ディスカッション (解決策) に返信

一般的には、ロックされています
追加方法については、ビジネスによって異なります。と実装

ファイルをロックできます

一般的にはロックです
追加方法については業務や実装によって異なります

ファイルをロックできます

そのテーブルはロックですか?しかし、この方法では、同じテーブル内の情報を他の人が操作することはできません。

データベース内の行テーブルをロックする方法は?それは、ビジネス ロジックの実装によって異なります。

あなたが言及したテーブル ロックとレコード ロックは、同じデータベース接続内でのみ有効です。ビジネス 選択する論理実装 あなたが言及したテーブル ロックとレコード ロックは、同じデータベース接続内でのみ有効です

誰かがすでにこの ID を操作している場合、タグを使用して ID を渡します。このリンクを開くと、誰かがすでに操作していることを示すメッセージが表示されます

[code=php][393f7a4166d4abd11333a8af72d25337" Modify5db79b134e9f6b82c0b36e0489ee08ed/code]

クラスの書き方のヒント ファイルがロックされている場合、ファイルを操作すると 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']);



khmod.php
if(file_exists('lock/' . $_GET['id'])) die('已有人操作');file_put_contents('lock/' . $_GET['id']);//这里是原来的代码unlink('lock/' . $_GET['id']);

ロック/これはパスではありませんか?

コードを押す意味は、ユーザーが単に開いた場合、何も操作せずにページが終了すると、常に誰かが操作したことを示すメッセージが表示されるということです

はい、この現象は存在します

これはロックの後遺症であり、ロックが発生した場合は管理者のみがロックを解除できます

ビジネス シナリオに応じて、セッションまたは Cookie を使用してページが開かれたかどうかを判断し、マークを付けるだけで判断できます。



ビジネス シナリオに応じて、セッションまたは Cookie を使用して、ページが開かれたかどうかを判断することができます。マークを付けるだけで判断できます。

異なるコンピュータ上で Cookie を操作することはできません。

セッションをどのように判断すればよいですか?

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