PHP:在指定的时间内回显消息

PHP:在指定的时间内回显消息,php,echo,timed,Php,Echo,Timed,我想显示一个字符串,你的状态已经发布了大约3秒,比我希望它消失 现在我有了一个新闻提要,用户可以在这里发布消息,在他们发布消息之后,它会回显该字符串,直到url被重新插入。有人有什么建议吗 if ($_POST['submit']) { $body = $_POST['body']; if ($body) { include ('connect.php'); $date = date("Y-m-d"); $email = $_SESSION['email'];

我想显示一个字符串,你的状态已经发布了大约3秒,比我希望它消失

现在我有了一个新闻提要,用户可以在这里发布消息,在他们发布消息之后,它会回显该字符串,直到url被重新插入。有人有什么建议吗

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>';
 }
 ?>
地位:

谢谢你的帮助


Jeff

要做到这一点,您需要添加一些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之类的库

有用链接:


哦,顺便说一下,你的脚本很容易受到攻击。始终使用您的查询参数或准备好的查询

使用php无法做到这一点。试试Javascript吧。

除非你在展示下一个网页之前采用了一些奇怪的100-Continue交错方法,否则你需要用Javascript来实现这一点


如果我想在他们第一次看到网页后显示一段时间,那么你可以看到类似这样的消息,该消息将消失,然后添加一个从标记的onLoad操作调用的脚本,例如,睡眠3秒钟,然后将该div的内容设置为空。

我会使用AJAX。您可以确保数据已经很好地插入到数据库中,然后使用javascript显示消息所需的时间。

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


如果使用jquery,您可以使用.hide

,但仅用PHP无法实现这一点;你需要JavaScript。下面是一个使用jQuery的简单示例:

状态:请编辑您的问题以更新它,而不是添加注释。这样可读性更强。@elvenbyte我不明白你的问题。