我讨厌问这个问题,因为它';到处都是,但浏览器中有PHP代码


I hate asking this because it's everywhere, but PHP code in browser

我是PHP新手;我使用的是Mac OS X(10.8.4),我使用的则是PHP 5.3.15;我的服务器API是Apache 2.0。因此,我完成了相对轻松的步骤,即设置Apache和安装PHP和MySQL。我创建了一个非常基本的PHP测试文件(只是对info函数的调用),它运行正常。然而,当我尝试从一本书中创建一个基本程序时,PHP代码出现在浏览器中。我已经做了以下工作:配置了httpd.conf文件(phpinfo()测试有效)。通过终端和设置中的web共享按钮重置我的Apache服务器我把这两个文件都放在Web服务器文件夹中。

有趣的是,当然,当我只做localhost/processorder.php时,文件会显示为它应该显示的样子,即解释,而不是在代码中。所以,我的假设是它与我的html文件(??)有关

不管怎样,这是我的密码;提前感谢您的建议!:

html文件(orderForm.html):

<form action="processorder.php"
method="post">
<table border="0">
<tr 
bgcolor="#cccccc">
<td 
width="150">Item</td>
<td 
width="15">Quantity</td>
</tr>
<tr>
<td>Tires</td>
    <td align="center">
    <input 
    type="text"
    name="tireqty" size="3"
    maxlength="3"/></td>
</tr>
<tr>
<td>Oil</td>
<td align="center">
<input
type="text"
name="oilqty"
size="3"
maxlength="3"/></td>
</tr>
<tr>
<td>Spark Plugs </td>
<td align="center">
    <input 
    type="text"
    name="sparkqty"
    size="3"
    maxlength="3"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input
type="submit"
value="Submit Order"
/></td>
</tr>
</table>
</form>

php文件(processorder.php):

<html>
<head>
<title>Order Results </title>
</head>
<body>
<h1>Nolan Auto Parts</h1>
 <h2>Order Results</h2>
<?php
echo'<p>Order processed.</p>';
?>
</body>
</html>

好吧,我想通了!:D我也是HTML的新手,所以这就是发生的事情,对于那些成为同一错误受害者的人来说:

<form action=""

将调用某个东西的地址。所以,你不能只键入whatever.php,你必须做一些类似的事情

<form action="http://localhost/whatever.php"

文件的路径很重要:p

您所需要做的就是这个

<form action="/processorder.php" method="post">

你需要这样做的原因是,在这里引入了这个反斜杠,浏览器会在服务器的目录中查找文件,对于Apache来说,该文件类似于"我的网站"。此外,你的Apache配置文件也没有错,我知道安装Apache真的很痛苦,所以放松一下。