我正在用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";
}
?>