HTML 表单提交,将信息添加到页面上的列表


HTML form submission, adding info to a list on the page

我正在用HTML编写一个内部网站,以及哪些在线用户能够添加自己的信息(例如Skype名称),这样我就不必自己为公司的1000人添加所有信息,并且当新人进来时,他们可以自己添加自己的信息。

我目前有一个"用户"页面,其中包含指向另一个页面的链接,其中有一个表单代码,如下所示:

    <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("users.html");
        $posts = "$msg - $name'n" . $posts;
        file_put_contents("users.html", $posts);
        echo $posts;
     ?>

我希望用户放入此表单的信息自动放入"用户.html"页面上的列表中,每个人都可以看到。我曾希望上面的代码能够实现这一点,但我无法让它工作。另外,我将如何在"用户.html"页面中指定信息的下落?我希望它属于:

  <div id="content">
    <div class="content_item">

..编码,以便将其加载到网页内的列表中。

提前非常感谢:)

不要尝试在每次提交时编辑users.html。那条路就是疯狂。

将提交的数据存储在数据库中。使用 PDO 库执行此操作。

让显示该数据的页面按需从数据库中提取数据。

尽管数据库的使用会更好,并且文件往往会随着时间的推移而变得相当大,但我将根据您发布的代码回答您的实际问题。

要显示从表单(与下面分开)编写的值,您可以设置一个包含以下内容的页面:

<div id="content">
<?php echo file_get_contents("users.html"); ?>
<div class="content_item">

单独的页面表单如下所示(经过测试)

<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Page Title Here</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>
</body>
</html>
<?php
if(isset($_POST['submit']) && empty($_POST['msg']) && empty($_POST['name']) ) {
die("All fields need to be filled, please try again.");
}
if(isset($_POST['submit'])) {
$msg = $_POST["msg"];
$name = $_POST["name"];
$posts = $msg . "-" . $name;
$file = "users.html";
$fp = fopen($file, "a") or die("Couldn't open $file for writing!");
fwrite($fp, $posts . "'n<br>") or die("Couldn't write values to file!");
fclose($fp);
}
echo $posts;
echo "<hr>Previous messages<hr>";
$file = "users.html";
if (file_exists($file)) {
$fp = file_get_contents($file, "r") or die("Couldn't open $file for writing!");
echo $fp;
exit;
}
else {
echo "The file is empty";
}
?>