PHP脚本没有返回变量

时间:2012-02-21 22:51:13

标签: php html

我已经采用以下代码并将它们放在各自的文件中。我已经在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> 

4 个答案:

答案 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>