【问题标题】:PHP : echo message for a specified amount of timePHP:在指定时间内回显消息
【发布时间】:2011-05-13 07:55:16
【问题描述】:

我想显示一个字符串“您的状态已发布”大约 3 秒左右,而不是我希望它消失。

截至目前,我有一个新闻提要,用户可以在其中发布消息,并且在他们发布消息后会回显该文本字符串,直到重新输入网址。有人有什么建议吗?

if ($_POST['submit'])
{
$body = $_POST['body'];

if ($body)
{
    include ('connect.php');
    $date = date("Y-m-d");
    $email = $_SESSION['email'];
    $who = mysql_query("SELECT firstname FROM people WHERE email = $email");
    $insert = mysql_query("
    INSERT INTO status VALUES('','$email','$body','$date')");
    echo ('Your status has been posted <p></p>');
}
else
    echo 'Status required to post into news feed! <p></p>';
 }
 ?>

状态:

感谢您的帮助!

杰夫

【问题讨论】:

  • 状态:
  • 请编辑您的问题以更新它,而不是添加评论。这种方式更具可读性。

标签: php echo timed


【解决方案1】:

您需要添加一些 JavaScript 来执行此操作。以下是帮助您入门的大纲:

<p id="info-message">Your status has been posted</p>
<script>
  setTimeout(function(){
    document.getElementById('info-message').style.display = 'none';
    /* or
    var item = document.getElementById('info-message')
    item.parentNode.removeChild(item); 
    */
  }, 3000);
</script>

您可能还需要淡出效果。为此,我建议使用 jQuery 或 Scriptaculous 之类的库。

有用的链接:
https://developer.mozilla.org/en/Window.setTimeout
http://api.jquery.com/fadeOut/
http://script.aculo.us/


哦,顺便说一下,您的脚本容易受到SQL injection 的攻击。始终escape 您的查询参数(或使用准备好的查询)!

【讨论】:

  • @elvenbyte 我不明白你的问题。
【解决方案2】:

你不能用 php 做到这一点。改用 Javascript。

【讨论】:

    【解决方案3】:

    除非你在展示下一个网页之前使用一些奇怪的“100 Continue”方法,否则你需要在 javascript 中执行此操作。

    如果这个 i 在他们第一次看到一个网页后显示一段时间,那么你可以有类似这样的消息 This message will leave 然后添加一个脚本然后将该div的内容设置为空。

    【讨论】:

      【解决方案4】:

      我会为此使用 AJAX。您可以向自己保证数据已被很好地插入到数据库中,然后在您想要的时间内使用 javascript 显示消息。

      【讨论】:

        【解决方案5】:

        如果将输出发送到浏览器,那么您可以使用 javascript 来控制您希望文本可见的时间窗口。

        如果使用 jquery,你可以使用 .hide() http://api.jquery.com/hide/

        【讨论】:

          【解决方案6】:

          您无法仅使用 PHP 实现此目的;你需要 JavaScript。这是一个使用 jQuery 的简单示例:http://jsfiddle.net/4surX/

          【讨论】:

            猜你喜欢
            • 2021-03-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多