Написать чат без базы данных на php
Простой чат на языке PHP через файлы + защита ввода.
<img src="../img/Photo_Chat.png" alt="Photo_Chat">
<form action="chat.php" method="post">
<div class="Form">
<small>Имя</small><span>*</span><br>
<input type="text" name="name" id="name" placeholder="name" maxlength="20" required/><br><br>
<small>Сообщение</small><span>*</span><br>
<textarea name="comment" cols="30" rows="8" maxlength="1500" placeholder="Сообщение [MAX = 1500]" required/></textarea><br><br>
<input id="Button1" type="submit" value="Отправить"><br>
</div>
</form>
<?php
if (isset($_POST['name']) && isset($_POST['comment'])){
$file = fopen ("../comments/chat.txt","a");
$enter = "\n";
$line = "**********************************************************************************";
$probel = " ==>> ";
$dt=date('Y-m-d [H:i:s]');
$count = 0;
$arr;
if ( !$file )
{
// echo("Ошибка открытия файла");
}
else
{
$file_array = file("../comments/chat.txt");
$fp = fopen("../comments/chat.txt", "r"); // Открываем файл в режиме чтения
if ($fp)
{
while (!feof($fp))
{
$arr[$count] = fgets($fp);
$count++;
}
}
fclose($fp);
file_put_contents("../comments/chat.txt", ''); // Clear file!
/*Записать новую запись в чистый файл!*/
$str_Name = htmlentities($_POST['name']); //Защита от спама!
$comment = htmlentities($_POST['comment']); // Защита от плохого кода! + Выводит все как есть!
fputs ( $file, $dt);
fputs ( $file, $probel);
fputs ( $file, $str_Name);
fputs ( $file, $enter);
fputs ( $file, $comment);
fputs ( $file, $enter);
fputs ( $file, $line);
fputs ( $file, $enter);
?>
<div style="background-color: #D3D3D3; font-family: sans-serif;">
<?php
/*---------------------------------------*/
for ($i=0; $i < count($arr); $i++) { //Сохраненный текст из файла вернуть обратно в конец!
fputs ( $file, $arr[$i]);
}
}
fclose ($file);
$file_array = file("../comments/chat.txt");
if(!$file_array){}
else
for($i=0; $i < count($file_array); $i++)
echo "<p><span>$file_array[$i]<br></span></p>";
}
else{
$file_array = file("../comments/chat.txt");
if(!$file_array){}
else
for($i=0; $i < count($file_array); $i++)
echo "<p><span>$file_array[$i]<br</span></p>";
}
?>