Иса Мирзоев
14.12.2019, 23:29
Здравствуйте) Не успел вчера ночью достать здесь всех со своим корявым аджакс-запросом (помогли разобраться, спс), как новая сложность с мини-чатиком. Не работает(( Файлов там несколько.
Это config.php с файлом для будущих сообщений
<?php
$filename = "messages.txt";
?>
Файл show.php с алгоритмом перебора файлов с сообщениями
<?php
require "config.php";
$file = file($filename);
$count = count($file);
for($i = $count; $i-- > 0;){
echo $file[$i];
echo "<br>";
}
?>
Файл send.php с получением данных из инпутов и внесением всего этого в файл-messages
<?php
require "config.php";
$sender = $_POST["sender"];
$text = $_POST["message"];
$message = "\n$sender написал $message";
$file = fopen($filename,"a");
fwrite($file,$message);
fclose($file);
?>
Файл-html собственно с разметкой и js-функциями для посылки и получения данных.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Ajax</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript">
function show(){
$.ajax({
url:"show.php",
timeout:10000,
success:function(data){
$("#messages").html(data)
},
error:function(){
$("#messages").html("Не удалось загрузить сообщение")
}
})
}
function send(){
var sender = $("#sender").val()
var message = $("#message").val()
if(sender.length > 0 && message.length > 0){
$.ajax({
url:"show.php",
type:"post",
timeout:10000,
data:{"sender":sender,"message":message},
success:function(data){
document.getElementById("message").value = ""
$("#send_message_result").html("")
},
error:function(){
$("#send_message_result").html("Не удалось загрузить сообщение")
}
})
} else if(sender.length==0){
$("#send_message_result").html("Введите имя");
} else if(message.length==0){
$("#send_message_result").html("Введите текст");
}
}
var Interval = 1000;
show();
setInterval("show()",Interval);
</script>
</head>
<body>
<h1>Чат</h1>
Имя <br>
<input type="text" id="sender"><br>
Сообщение <br>
<textarea id="message" cols="30" rows="10"></textarea><br>
<input type="submit" value="send" onclick="send();">
<div id="send_message_result"></div>
<hr>
<div id="messages"></div>
</body>
</html>
Это config.php с файлом для будущих сообщений
<?php
$filename = "messages.txt";
?>
Файл show.php с алгоритмом перебора файлов с сообщениями
<?php
require "config.php";
$file = file($filename);
$count = count($file);
for($i = $count; $i-- > 0;){
echo $file[$i];
echo "<br>";
}
?>
Файл send.php с получением данных из инпутов и внесением всего этого в файл-messages
<?php
require "config.php";
$sender = $_POST["sender"];
$text = $_POST["message"];
$message = "\n$sender написал $message";
$file = fopen($filename,"a");
fwrite($file,$message);
fclose($file);
?>
Файл-html собственно с разметкой и js-функциями для посылки и получения данных.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Ajax</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript">
function show(){
$.ajax({
url:"show.php",
timeout:10000,
success:function(data){
$("#messages").html(data)
},
error:function(){
$("#messages").html("Не удалось загрузить сообщение")
}
})
}
function send(){
var sender = $("#sender").val()
var message = $("#message").val()
if(sender.length > 0 && message.length > 0){
$.ajax({
url:"show.php",
type:"post",
timeout:10000,
data:{"sender":sender,"message":message},
success:function(data){
document.getElementById("message").value = ""
$("#send_message_result").html("")
},
error:function(){
$("#send_message_result").html("Не удалось загрузить сообщение")
}
})
} else if(sender.length==0){
$("#send_message_result").html("Введите имя");
} else if(message.length==0){
$("#send_message_result").html("Введите текст");
}
}
var Interval = 1000;
show();
setInterval("show()",Interval);
</script>
</head>
<body>
<h1>Чат</h1>
Имя <br>
<input type="text" id="sender"><br>
Сообщение <br>
<textarea id="message" cols="30" rows="10"></textarea><br>
<input type="submit" value="send" onclick="send();">
<div id="send_message_result"></div>
<hr>
<div id="messages"></div>
</body>
</html>