2012-01-03 13 views
0

私はZend FrameworkとMySQLでPHPを使用しています。私はユーザーがログインするフォームを持っています。複数のユーザーが同時に同じフォームにログインすると、到着に基づいてフォームフィールドを有効にして最初のユーザーに編集を許可し、他のユーザーは「無効な」フォームフィールドのみを表示できます今編集している人と編集キューに保存されています。phpとmySQLを使用して同じフォームの複数のリクエストを処理する方法は?

人の編集が完了してログアウトすると、すでに作成されているフォームフィールドをキューの次の行に有効にして、すべての編集キューを変更するにはどうすればよいですか?

私は私のメインコントローラでこれを持っている場合:無効なフォームを表示するために待っている間に

while(1) 
    { 
     sleep(3); 
     $log_firstrow = $this->getFirstRow($db); 
     if($this->isFirstRow($log_firstrow, $username)==1) 
     { 
      $this->view->queue = 0; 
      break; 
     }  
    } 

これは、ビューへのアクセスを防止します。最初のユーザーがログアウトしてからこのユーザーが次の行になった後でのみ、コントローラーは完了し、フォームが表示されている場所を表示します。

ありがとうございました。

答えて

1

これは、誰かが編集ページで自分の時間を費やす場合、PHPスクリプトのタイムアウトを容易にします。または、長いキューがあります。言うまでもなく、コントローラが処理を終了するまで何も表示されないので、キュー内のすべての人に空白のページが表示されます。また、編集ページは、編集中のユーザーがアプリケーションからログアウトせずにページを閉じるか、ブラウザを閉じるとブロックされたままになります。

AJAXを使用して、キュー内の各ユーザがN秒ごとにサーバをポーリングして編集を行うべきかどうかを確認するのはなぜですか?

関連する問題