0

コメントが挿入されたときにセッション変数を保存しています..user_message..と呼ばれ、user_messageが保存されたら、index.phpにメッセージを表示したいindex.phpは今です:

<div id="message">
<? echo $_SESSION["user_message"]; ?>
</div>

ただし、保存された後にメッセージを表示するには、サイトを更新 (f5) する必要があります。

しかし、変数 user_message に何かが保存されている場合は、それを表示したい..

ご理解いただければ幸いです。

4

3 に答える 3

0
<?php if( isset($_SESSION["user_message"]) ): ?>
  <div id="message">
    <? echo $_SESSION["user_message"]; ?>
  </div>
<?php endif; ?>
于 2010-02-22T13:54:34.720 に答える
0

あなたの意図がよくわかりません。ユーザーが新しいコメントを送信したら、そのユーザーが表示しているページを更新しますか?

その場合 - 通常の形式の post/get を使用している場合は、@Seb が上に書いたコードを使用して、ユーザー要求を必要なページにリダイレクトし、通知を表示できます。

ajax を使用してコメントを送信している場合は、ajax 呼び出しから応答を返し、ajax 呼び出しを作成した JavaScript 関数にページを更新する必要があることを通知し、location.href 変数を任意の URL に設定できます。欲しいです。

ただし、コメントページを表示しているすべてのユーザーのページを更新する場合、別のユーザーがコメントを送信したら、数秒/分ごとに ajax 呼び出しを繰り返して、サーバーで何かが変更されたかどうかを確認する必要があります。その場合は、location.href 変数を使用して、ユーザーを別の場所にリダイレクトします。元のコメント投稿者がサイトを使用している場合にのみアクセスできるため、コメント投稿者のコンピューターに保存されているセッション変数のみに依存している場合、これを行うことはできません。

于 2010-02-22T13:59:16.943 に答える
0

コメント フォームと同じページにメッセージを表示する場合は、Javascript をお勧めします。jQuery http://jquery.com/を使用している場合は、次のようなことができます。

$('form#CommentFormID').submit(function() {
    var message = $('form#CommentFormID textarea#comment').html();
    $('body').append('<div id="message">' + message + '</div');
});

これは試していませんが、うまくいくはずです。

于 2010-02-22T14:01:07.907 に答える