每次提交表单时,连接并显示来自文本字段的用户输入

时间:2019-01-23 12:59:47

标签: php

我正在尝试创建一个Messenger风格的应用程序。首先,我只是想了解每次提交表单时如何将用户对话连接到一个变量中,然后显示结果。但是,我的代码将覆盖上一条消息,因此仅显示最新消息。我在下面创建了一个非常基本的示例进行演示,为清楚起见省略了表单验证。我真的很感谢这方面的帮助。

在此先感谢您抽出时间阅读或回复此信息。一直很感激:)

<?php 

$message .= $_REQUEST["message"];

?>

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Messanger</title>
</head>

<body>

<p id="message" >
<?php echo "Message: " . $message; ?>
</p>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

    <input id="message" type="text" name="message">
    <br />
    <input type="submit" name="submit" value="Submit">

</form>

</body>
</html>

1 个答案:

答案 0 :(得分:2)

您只获得最新的价值,而旧的价值。

您需要将值存储在会话中,每当我们获得更多值时,都将其附加。

更正的代码

<?php 
session_start();
$message = isset($_POST['message']) ? $_POST['message'] : '';
if (! empty($message)) {
 if (! isset($_SESSION['message'])) {
  $_SESSION['message'] = $message;
 }
 else {
  $_SESSION['message'] .= "<br/>". $message;
 }
}
echo $_SESSION["message"];
?>