【发布时间】:2012-12-15 02:50:09
【问题描述】:
我在 Linux 服务器上托管一个网站,运行 Ubuntu Server 11.04(32 位)。 Web 服务器是 Apache。该站点上的其中一个页面有一个表单,其中包含指向 PHP 电子邮件脚本的提交链接。表格代码:
<form id="contact_form" method="post" action="email.php">
<table>
<tr>
<td>Name:</td>
<td><input type="text" id="name" class="textbox"/></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" id="email" class="textbox"/></td>
</tr>
</table>
<div id="message_box_header">Describe your problem:<br /></div>
<textarea class="textbox"></textarea><br />
<input type="submit" value="Submit!" id="submit" />
</form>
Linux 服务器拥有最新版本的 sendmail。我根本不了解 PHP,并且预先编写了脚本,所以我想我的问题可能就在那里。为了隐私,我用虚拟的网站/电子邮件替换了网站/电子邮件。这是email.php:
<?php
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
mail( "myemail@gmail.com", "Form Data",
$message, "From: $email" );
header( "Location: http://mywebsite.com" );
?>
当我点击实际网站上的提交按钮时,它只是下载 email.php。
【问题讨论】:
-
允许它下载然后打开文件。如果您看到 PHP 代码,则说明您的服务器上没有解释 PHP。所以这可能是一个配置问题,或者可能是由于某种奇怪的原因没有 PHP 的主机。
-
网站上还有其他 PHP 吗?尽量省略末尾的
?>,并在末尾添加exit;。 -
旁注:使用
$_POST代替$_REQUEST发布数据,使用$_GET获取数据。
标签: php html linux forms apache