在本地计算机上测试PHP脚本

时间:2009-01-14 19:39:22

标签: php

一般来说,PHP和Web开发的新手。我想在点击提交后从HTML表单中获取信息以显示在另一个网页的表格中。所以我在我的本地PC上安装了Apache然后安装了PHP,并希望能够在本地测试PHP脚本,但它不会返回我期望的信息。 以下是表单的代码:

<form method="post" action="showform.php">

Please fill out the following form if you would like to be contacted: <br/>
    Name:<input type="text" name="name" /> <br/><br/>
    Company: <input type="text" name="company"/> <br/><br/>
    Phone: <input type="text" name="phone" /> <br/><br/>
    Email: <input type="text" name="email" /> <br/><br/>

    <input type="submit" name="Submit" value="Submit" />
</form>

以下是php脚本的代码:

<table>
<tr><th>Field Name</th><th>Value(s)</th></tr>

<?php
if (empty($_POST)) {
print "<p>No data was submitted.</p>";
 } else {

foreach ($_POST as $key => $value) {
if (get_magic_quotes_gpc()) $value=stripslashes($value);
if ($key=='extras') {

if (is_array($_POST['extras']) ){
    print "<tr><td><code>$key</code></td><td>";
    foreach ($_POST['extras'] as $value) {
            print "<i>$value</i><br />";
            }
            print "</td></tr>";
    } else {
    print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n";
    }
} else {

print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n";
}
 }
}
?>
</table>
</body>
</html>

我知道它在互联网上使用时有效,但它怎么会在本地不起作用。我已经检查过apache和php是否正确安装。可能是什么问题? 当前结果是一个表,其中$ key和$ value应该是正确值的位置,换句话说就是表格单元格。 谢谢你的帮助。

更新:现在通过WAMPSERVER工作 - 感谢所有帮助过的人!

5 个答案:

答案 0 :(得分:7)

结帐xampp。它在您的计算机上安装Apache,Mysql,Perl和PHP,以便您可以在本地测试整个站点。这是一个单击安装程序,并配有一个漂亮的控制面板,以根据需要启用/禁用每项服务。

答案 1 :(得分:3)

您也可以尝试WampServer

这是一个包含:Apache,MySQL,PHP(预先配置用于Windows)的软件包。

答案 2 :(得分:0)

如果你真的得到$value,那么你的PHP脚本就不会被解析了。尝试运行基本的phpinfo()来检查一下。

如果PHP没有选择,请确保在httpd.conf中设置了PHP的路径。我建议使用xampp - 我在所有本地配置中都很糟糕,只是让自动安装程序为我设置它。我知道以后可以添加新的模块等。

答案 3 :(得分:0)

如果使用PHP 5.5+,则不需要服务器 - 它有一个内置服务器(http://www.php.net/manual/en/features.commandline.webserver.php

只需使用:

$ cd~ / project

$ php -S localhost:8000

答案 4 :(得分:-2)

乍一看,看起来您正在尝试放置变量,但是您将变量放在字符串中。

所以这个:

print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n";

应该是这样的:

print "<tr><td><code>" . $key . "</code></td><td><i>" . $value . "</i></td></tr>\n";