自动刷新php页面

时间:2015-04-12 11:49:40

标签: php chat

我为我的网站制作了这个简单的聊天网站,但我不知道如何在每次发送邮件时自动刷新。

发送并打印所有消息的网站:

<form action="messages.php" method="POST">
    <input name="chat_box" /><br>
    <input type="submit" value="Send" />
</form>


<?php
include "messages.txt";
?>

将文本输入发送到文本文件的站点:

<?php

$messages = $_POST["chat_box"];

$handler=fopen("messages.txt", 'a');
fwrite($handler,$_SERVER["REMOTE_ADDR"].":".$messages."<br>");
fclose($handler);

header("Location: chat_box.php");

?>

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

试试这段代码:

这是messages.php

<?php
    $page = $_SERVER['PHP_SELF'];
    $sec = "10";
?>
<html>
    <head>
    <meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
    </head>
    <body>
    <form action="messages.php" method="POST">
        <input name="chat_box" /><br>
        <input type="submit" value="Send" />
    </form>
    <?php
        include "messages.txt"; //Uncomment this to check the autorefresh
        echo "Auto refresh in 10 second!";

        $messages = $_POST["chat_box"];

        $handler=fopen("messages.txt", 'a');
        fwrite($handler,$_SERVER["REMOTE_ADDR"].":".$messages."<br>");
        fclose($handler);
    ?>
    </body>
</html>

希望这可以帮助你...... :)

答案 1 :(得分:0)

如果您想获取新消息,最好的选择可能是每10秒重新加载一次文本文件。这样做用这个替换你的第一个代码集底部的php:

<div id="messages"></div>
<script type="text/javascript"> 
   $(document).ready(function() {
     function functionToLoadFile(){
      jQuery.get('messages.txt', function(data) {
        $("#messages").html(data) 
      });
     }
setInterval(functionToLoadFile, 10000);
});
</script>