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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 13:59:07
オリジナル
946 人が閲覧しました

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


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

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

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

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

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

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

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

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

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

[code=php][/code]

クラスの書き方のヒント ファイルがロックされている場合、ファイルを操作すると false が返されますが、戻り値で判断できます

lock.php
$fo = fopen('abc.txt', 'r+');
flock($fo, LOCK_UN);

read.php

< ?php
$fo = fopen('abc.txt', 'r+');
if(!$a=fgets($fo)){
echo "すでに操作されています" }
echo $ a ;
};
?>

フィールド 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート