【发布时间】:2016-06-27 02:57:20
【问题描述】:
我们在我工作的地方的厨师正试图找出一种简单(有点花哨)的方法来将菜单展示给员工查看。我已经建立了一个表单,因此他可以在周一至周五进入菜单,但我需要一些帮助来创建菜单。
我希望厨师能够访问这个网站(已经建立的表格),让他输入菜单的所有信息。一旦他输入了他点击提交的信息,它就会创建一个 HTML 文件,该文件已经被背景图像和字体所吸引,但我需要将他输入的文本转置到那里。
我从我目前拥有的表格中获取此信息,该表格会在输入数据后通过电子邮件发送给我们的人力资源部门。我知道这与 php 部分有关,我什至不确定这是否可能。
这是我的表单,我猜我只需要 php 信息
<head>
<title>Cafe Menu Creator</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="cafe.css" />
</head>
<body>
<br />
<br />
<center><h1>Cafe Menu Creator</h1></center>
<div id="page-wrap">
<div id="contact-area">
<form method="post" action="cafe.php">
<label for="Name">Monday:</label>
<textarea name="Message_Monday" rows="20" cols="20" id="Message_Monday"></textarea>
<label for="Name">Tuesday:</label>
<textarea name="Message_Tuesday" rows="20" cols="20" id="Message_Tuesday"></textarea>
<label for="Name">Wednesday:</label>
<textarea name="Message_Wednesday" rows="20" cols="20" id="Message_Wednesday"></textarea>
<label for="Name">Thursday:</label>
<textarea name="Message_Thursday" rows="20" cols="20" id="Message_Thursday"></textarea>
<label for="Name">Friday:</label>
<textarea name="Message_Friday" rows="20" cols="20" id="Message_Friday"></textarea>
<input type="submit" name="submit" value="Submit" class="submit-button" />
</form>
<div style="clear: both;"></div>
</div>
</div>
</body>
</html>
PHP:
<?php
$MessageMonday = $_POST['Message_Monday'];
$MessageTuesday = $_POST['Message_Tuesday'];
$MessageWednesday= $_POST['Message_Wednesday'];
$MessageThursday = $_POST['Message_Thursday'];
$MessageFriday = $_POST['Message_Friday'];
ob_start();
?>
<div>
<html>
<body bgcolor=red>
</div>
<div><?php echo $MessageMonday; ?></div>
<div><?php echo $MessageTuesday; ?></div>
<div><?php echo $MessageWednesday; ?></div>
<div><?php echo $MessageThursday; ?></div>
<div><?php echo $MessageFriday; ?></div>
<?php
$html = ob_get_contents();
ob_end_clean();
$path = '/var/www/web1/web/';
$filename = "menu.html";
file_put_contents($path.$filename);
?>
【问题讨论】:
-
textarea 需要具有唯一的名称属性。
-
你编辑了,但这里有另一个
$path = "\\server\c$\cafe;所以我们在编辑我在这里评论吗? 哈哈 -
哦,
$filename = "menu"."html";仍然是错误的。如果你想创建menu.html文件,那应该读作$filename = "menu.html";。并且您的路径没有斜杠。读作path/folderFILE.html。而不是path/folder/FILE.html。 -
可能是因为您没有检查它们,并且可能是文件夹/路径和/或文件的权限问题。错误报告php.net/manual/en/function.error-reporting.php 另外,您的文本区域必须具有不同的名称属性,并且 POST 数组/变量区分大小写。您为它们使用相同的名称但不同的 ID,因此如果您不使用 JS,您的代码将失败。根据驱动器的不同,
\\server应读取为 c:\\folder\\ 等。您正在尝试访问虚拟机。 -
用我的更改更新了原始帖子。我已将其移至我的网络服务器,因此我将保留所有文件路径。