我是网络开发的新手,现在已经在这个问题上挣扎了几个小时,所以我决定转向你的智慧。我正在尝试为我的妻子设计一个带有数据库的小网页来存储她的食谱,但是我无法将表单提交到工作中。以下是我在其中获取表单信息的网页代码:
<html><body>
Enter the information below to add a new ingredient for use in your recipes.
<form action="add_to_database.php" method="post">
Name: <input name="name" type="text" />
Serving: <input type="text" name="serving" />
Calories: <input type="text" name="calories" />
<input type="submit" />
</form>
</body></html>
这里有一些愚蠢的代码,我一直试图在页面上显示,看看我是否可以让表单提交工作:
<html><body>
<?php
$name = $_POST['name'];
echo $name."<br />";
?>
</body></html>
不幸的是,页面完全返回(在我点击提交按钮后)。令我感到困惑的是,我已经将这个page中的示例复制并粘贴到一些文件中,一切似乎都运行正常。所以似乎apache和php工作正常,但我在路上的某个地方搞乱了。如果这看起来像是一个愚蠢的问题,我提前道歉,但对于我的生活,我无法理解。
答案 0 :(得分:2)
您是否将其他文件命名为add_to_database.php,其中提交了表单。相反,您可以通过从表单操作中删除add_to_database.php来测试同一页面。
form action="" method="post">
Name: <input name="name" type="text" />
Serving: <input type="text" name="serving" />
Calories: <input type="text" name="calories" />
<input type="submit" />
</form>
并在与
相同的页面上编写php代码$ name = $ _POST ['name'];
echo $ name;
如果这不适合你。创建一个名为test.php的php文件并输入phpinfo();那里。
答案 1 :(得分:1)
验证您的页面确实正在由PHP处理 - 显而易见的问题,但您的PHP文件是否具有.php扩展名?其他内容如phpinfo()
或echo "Test";
有效吗?
检查/var/log/apache2/error.log或类似的错误日志(如果在Linux上,dunno在Windows上的位置)。
尝试在PHP配置中启用display_errors
(这只适用于开发安装,而不是生产服务器)。
答案 2 :(得分:0)
有点远,但如果你能证实php正在处理该页面。清理你的html,你错过了dtd,head和encoding。 。很难说没有这些,浏览器将如何解释表单(缺少名称属性)。