我已经采用以下代码并将它们放在各自的文件中。我已经在Firefox中打开了register.html,在输入表单所需的详细信息后,它会加载welcome.php,尽管没有输入信息。加载的页面简单地写着:“欢迎!你已经岁了!”
两个文件都存储在同一个文件夹中。
有关我做错的任何建议吗?
register.html
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
的welcome.php
Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>
答案 0 :(得分:2)
对于Apache:
1)确保mime
模块已开启。
2)尝试在同一目录中创建.htaccess
文件,其中包含以下内容:
AddType application/x-httpd-php .php
这仅在rewrite
模块开启时才有效。
3)否则,如果您有权访问httpd.conf
文件,请尝试在其中的某处添加该行,而不使用.htaccess
文件。
确保在您对httpd.conf
进行更改时重新启动服务器。
编辑:
我还应该提到查看页面的来源,看看PHP代码是否在其中。这将使这些步骤成为必要。
另一种故障排除方法是在页面顶部添加<?php error_reporting(E_ALL); ?>
,以防PHP实际 正在运行且没有错误。如果已停用,则会启用报告Undefined index
通知。它似乎不太可能出现这种情况,但它似乎也是一个有用的步骤,可以帮助我们准确理解正在发生的事情。然后,我非常确定PHP没有执行。
答案 1 :(得分:1)
关闭身体标签。
<body>
不
<body
答案 2 :(得分:1)
我使用了你准确发布的代码,即使是破损的正文标记,它仍然有效。
您应该查看您的apache安装并检查它是否正常工作。
我建议你运行一个简单的phpinfo测试,它基本上是一个文件(以.php结尾),只有这个:
<?php phpinfo(); ?>
答案 3 :(得分:-1)
您可以使用此
<?php
if ($_POST) {
extract($_POST);
if (!empty($fname) || !empty($age)) {
echo 'First Name: '.$fname.' Age: '. $age;
} else {
echo 'Enter first name and age';
}
}
?>
<!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>Form</title>
</head>
<body>
<form action="" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>