基本上,我只想让用户进入网站,输入他们的消息和名称,结果应该显示在同一页面上,当另一个用户再次进入时,上一个用户的结果应该在那里,出现的任何内容都应该添加到列表中。
目前我有:
<form id="form1" name="form1" method="post" action="">
<label>Please type in a message
<input type="text" name="msg" id="msg" />
</label>
<label>and your name
<input type="text" name="pin" id="name" />
</label>
<p>
<label>Submit
<input type="submit" name="submit" id="submit" value="Submit" />
</label>
</p>
</form>
<?php
$msg = $_POST[msg];
$name = $_POST[name];
?>
<br />
<?php echo "$msg"?>
<?php echo "$name"?>
但是当输入另一条记录时,前一条记录就会丢失。。。
提前感谢
这应该是您想要的。它从posts.txt
加载以前的帖子,添加当前帖子,显示帖子并保存。您需要确保posts.txt
存在并具有正确的权限。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>Please type in a message
<input type="text" name="msg" id="msg" />
</label>
<label>and your name
<input type="text" name="name" id="name" />
</label>
<p>
<label>Submit
<input type="submit" name="submit" id="submit" value="Submit" />
</label>
</p>
</form>
<?php
$msg = $_POST["msg"];
$name = $_POST["name"];
$posts = file_get_contents("posts.txt");
$posts = "$msg - $namen" . $posts;
file_put_contents("posts.txt", $posts);
echo $posts;
?>
</body>
</html>
这就是需要数据库的地方。只需创建一个简单的sql数据库或创建一个文件,每当用户发布消息时都会附加该文件。因此,无论何时加载页面,都必须先加载以前存储的数据,然后再继续。
两件事:
$first = $_POST['msg'];
$second = $_POST['pin'];
您需要在post参数周围加上这些单引号,以便将其保存到变量中。
其次,为了存储数据,您需要将其保存在某个地方,无论是文本文件还是MySQL数据库。只有在过帐表单时才存在过帐数据。在那之后,它就被摧毁了。
对您来说,最简单的事情可能是附加到文本文件中(如果这是一个简单的应用程序)。
这应该会让你开始。
您需要持久化或保存以前会话中的数据。一种选择是使用平面文件,将条目保存到文本文件中。对于一个流量很少的非常小的网站来说,这可能是可以的。从本质上讲,当有人发布某个内容时,你只会在它前面加上本地文件的内容。
另一个选项是查看数据库选项,例如MySQL。使用此方法,您将把每个消息/名称组合插入到本地数据库中,然后取出所有记录(或第n条最新记录),并将其显示在您的评论表单下方。
您只显示上一篇文章。这实际上永远不会让其他用户看到你发布的内容。要将其存储一段时间,必须使用文件或数据库。
您需要考虑将这些消息存储在数据库系统中。MySQL是一个不错的选择,但它的设置远不止几行。你可以从阅读手册开始。这将为您提供所需的一切。
我不确定我是否在跟踪你。是否希望文本框具有以前的类型值?
<input type="text" value="<?php (isset($_POST[msg])) ? $_POST[msg] : "" ?>" name="msg" id="msg" />