在将 POST 方法与 PHP 一起使用时存储最后一个输入文本


Storing the last input text whilst using the POST method with PHP

这个想法:

我一直在尝试根据用户的预测创建一个单向聊天系统,通过服务器端使用预设的自动响应。

问题:

到目前为止,我

所拥有的效果很好,尽管我现在遇到的问题是我无法在本地存储用户输入的最后一个消息,以便在不使用大量_GET的情况下将聊天流入消息。

使用我当前的代码:

if (isset($_POST['test'])) {
    $test = htmlentities($_POST['test']);
    echo "<span class='you'>".$name."</span>: ".$test;
    if (preg_match('~'b(?:about)'b~', $test)) {
        echo '<br />'.$about;
    } else if (preg_match('~'b(?:projects?|works?)'b~i', $test)) {
        echo '<br />'.$projects;
    } else if (preg_match('~'b(?:contact|email|inquiry)'b~', $test)) {
        echo '<br />'.$contact;
    } else {
        echo "<br />Error!";
    }
}

例如,如果用户在输入中键入projects,则$projects回显正确,但在用户键入 about 之后,$about确实会显示,但上一条projects消息消失。

我尝试过的:

  • 我试图将每个if放在自己的isset中。
  • 考虑了一个在每条消息后进行新输入的循环,尽管我认为这可能不是 PHP 的有效使用,但我需要找到一种更简洁的方法。

>您可以使用AJAX,以使旧邮件在提交时不会消失。

对聊天消息有<ul>。当用户发帖时,创建一个带有他的消息和另一个答案的<li>,并继续添加它们......