чат — автоматическое обновление страницы php

Я сделал этот простой чат-сайт для своего сайта, но я не знаю, как сделать так, чтобы он автоматически обновлялся при каждом отправлении сообщения.

Сайт, который отправляет и распечатывает все сообщения:

<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");

?>

Может кто-нибудь мне помочь?

1

Решение

Попробуйте этот код:

Это 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>

Надеюсь, это поможет вам … 🙂

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>
0