Я пытаюсь стереть данные, хранящиеся в $_POST['message']
, или установить его на ноль.Я просто пытаюсь как-то очистить данные.
Вот моя программа мини-чата.
<?php
require_once("connection.php");
if(isset($_SESSION['log']))
{
if (isset($_POST['message']))
{
sendMessage($_POST['message'], $pdo, $logedInUsername);
}
$query = "SELECT * FROM `chat`";
$search_result = filterTable($query, $pdo);
}
// function to connect and execute the query
function filterTable($query, $pdo)
{
$stmt = $pdo->prepare($query);
$stmt->execute();
$filter_Result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $filter_Result;
}
function sendMessage($message, $pdo, $logedInUsername)
{
if(strlen($message) > 0)
{
$query = "INSERT INTO `chat`(`username`, `message`) VALUES ('$logedInUsername','$message')";
$_POST['message'] = null;
//$_POST['message'] = "";
$stmt = $pdo->prepare($query);
$stmt->execute();
}
}
?>
<!-- html -->
<form method="post">
<input type="text" name="message" id="txt_1" onkeyup='saveValue(this);'/>
<input type="submit" class="send" value="Send">
Проблема в том, что когда я отправляю сообщение, то обновляю страницу с данными в $_POST['message']
остается, поэтому функция sendMessage запускается при загрузке страницы, которая снова отправляет предыдущее сообщение, что нежелательно.$_POST['message'] = null;
, похоже, ничего не делает при использовании isset, как и $_POST['message'] = "";
при использовании strlen, чтобы проверить, больше ли 0.