如何将POST消息变量值设置为null

时间:2019-06-02 11:23:21

标签: php html mysql database superglobals

我正在尝试擦除存储在$_POST['message']中的数据或将其设置为null。我只是想以某种方式清除数据。

这是我的迷你聊天程序。

<?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时似乎什么也不做,而在使用strlen检查是否大于0时,$_POST['message'] = "";也不起作用。

0 个答案:

没有答案