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 回答