简单的html / php表单在同一页面上输出

时间:2011-06-28 16:09:55

标签: php html forms

基本上我想要的是用户进入网站,输入他们的消息和名称,结果应该显示在同一页面中,当另一个用户再次进入时,以前用户的结果应该在那里,任何出现的东西都应该添加到列表中。

目前我有:

 <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"?>

但是当输入另一条记录时,前一条记录会丢失......

提前致谢

7 个答案:

答案 0 :(得分:7)

这应该做你想要的。它从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 - $name\n" . $posts;
    file_put_contents("posts.txt", $posts);
    echo $posts;
 ?>

</body>
 </html>

答案 1 :(得分:3)

这就是需要数据库的地方。只需创建一个简单的sql数据库或创建一个每次用户发布他/她的消息时附加的文件。 因此,无论何时加载页面,都必须先加载以前存储的数据,然后再继续。

答案 2 :(得分:0)

您需要保留或保存以前会话中的数据。一种选择是使用平面文件,将条目保存到文本文件中。这可能适用于接收极少流量的非常小的网站。基本上,当某人发布某些内容时,您只会在其前面添加本地文件的内容。

另一种选择是查看数据库选项,例如MySQL。使用此方法,您将每个消息/名称组合插入到本地数据库中,然后提取所有记录(或最近的第n个)并将其显示在注释表单下方。

答案 3 :(得分:0)

您只显示上次发布的帖子。这实际上永远不会让其他用户看到你发布的内容。要在一段时间内存储它,您必须使用文件或数据库。

答案 4 :(得分:0)

您需要查看将这些消息存储在数据库系统中。 MySQL是一个不错的选择,但它不仅仅是一些简单的设置方法。您可以从reading the manual开始。这应该为您提供所需的一切。

答案 5 :(得分:0)

我不确定我是否跟着你。您希望文本框具有以前的类型值吗?

<input type="text" value="<?php (isset($_POST[msg])) ? $_POST[msg] : "" ?>" name="msg" id="msg" />

答案 6 :(得分:0)

夫妻俩:

$first = $_POST['msg'];
$second = $_POST['pin'];

你需要在post参数周围使用这些单引号,以便将其保存到变量中。

其次,为了存储数据,您需要将其保留在某处,无论是文本文件还是MySQL数据库。发布表单时仅存在发布数据。在那之后,它被摧毁了。

您可能最简单的事情是附加到文本文件(如果这是一个简单的应用程序)。

This should get you started.