我是PHP新手。我正在为一个朋友的网站更新一些东西。
我以为我添加的代码是正确的,但当我在html表单中单击submit时,基本上会显示所有PHP代码。(如果工作正常,它会被重定向到另一个页面)。
下面是我的代码:
<?php
// Website Contact Form Generator
// http://www.tele-pro.co.uk/scripts/contact_form/
// This script is free to use as long as you
// retain the credit link
// get posted data into local variables
$EmailFrom = Trim(stripslashes($_POST['EmailFrom']));
$EmailTo = "EMAILREMOVED";
$Subject = "Volunteer Form";
$Name = Trim(stripslashes($_POST['Name']));
$Telephone = Trim(stripslashes($_POST['Telephone']));
$Shift = Trim(stripslashes($_POST['Shift']));
// validation
$validationOK=true;
if (Trim($EmailFrom)=="") $validationOK=false;
if (Trim($Name)=="") $validationOK=false;
if (Trim($Telephone)=="") $validationOK=false;
if (Trim($Shift1)=="" && Trim($Shift2)=="" && Trim($Shift3)=="" && Trim($Shift4)=="" && Trim($Shift5)=="" && Trim($Shift6)=="" && Trim($Shift7)=="" && Trim($Shift8)=="") $validationOK=false;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=volunteer-error.html\">";
exit;
}
// set Shift Time
if ($Shift1!="") $time1="8:30am-9:45am, ";
if ($Shift2!="") $time2="10:00am-11:15am, ";
if ($Shift3!="") $time3="11:30am-12:45pm, ";
if ($Shift4!="") $time4="1:00pm-2:15pm, ";
if ($Shift5!="") $time5="2:30pm-3:45pm, ";
if ($Shift6!="") $time6="4:00pm-5:15pm, ";
if ($Shift7!="") $time7="5:30pm-6:45pm, ";
if ($Shift8!="") $time8="7:00pm-8:00pm";
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $EmailFrom;
$Body .= "\n";
$Body .= "Telephone: ";
$Body .= $Telephone;
$Body .= "\n";
$Body .= "Shift: ";
if (Trim($Shift1)!="") $Body .= $time1;
if (Trim($Shift2)!="") $Body .= $time2;
if (Trim($Shift3)!="") $Body .= $time3;
if (Trim($Shift4)!="") $Body .= $time4;
if (Trim($Shift5)!="") $Body .= $time5;
if (Trim($Shift6)!="") $Body .= $time6;
if (Trim($Shift7)!="") $Body .= $time7;
if (Trim($Shift8)!="") $Body .= $time8;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=volunteer-success.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=volunteer-error.html\">";
}
?>编辑:以下是html代码:
<!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" />
<link href="images/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="CSS/borders.css" rel="stylesheet" type="text/css" />
<title>Volunteer Signup Form</title>
<style type="text/css">
body
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
</style>
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="signup">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="18" valign="top"><strong>Volunteer Signup Form</strong></td>
</tr>
<tr>
<td width="35"> </td>
<td height="307" valign="top">
<form method="POST" action="contact.php">
Name: <br />
<input type="text" name="Name"><br /><br />
Email: <br />
<input type="text" name="EmailFrom"><br /><br />
Telephone Number:<br />
<input type="text" name="Telephone"><br /><br />
Shift(s):<br />
<label><input name="Shift1" type="checkbox" id="shiftid" value="1" /> 8:30am - 9:45am</label><br />
<label><input name="Shift2" type="checkbox" id="shiftid" value="1" /> 10:00am - 11:15am</label><br />
<label><input name="Shift3" type="checkbox" id="shiftid" value="1" /> 11:30am - 12:45pm</label><br />
<label><input name="Shift4" type="checkbox" id="shiftid" value="1" /> 1:00pm - 2:15pm</label><br />
<label><input name="Shift5" type="checkbox" id="shiftid" value="1" /> 2:30pm - 3:45pm</label><br />
<label><input name="Shift6" type="checkbox" id="shiftid" value="1" /> 4:00pm - 5:15pm</label><br />
<label><input name="Shift7" type="checkbox" id="shiftid" value="1" /> 5:30pm - 6:45pm</label><br />
<label><input name="Shift8" type="checkbox" id="shiftid" value="1" /> 7:00pm - 8:00pm</label><br />
<br />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="140" align="center"><input type="submit" name="submit" value="Submit" /></td>
<td> </td>
</tr>
</table>
</form> </td>
</tr>
</table>
</body>
</html>我所做的更改:我添加了与Shift6、Shift7、Shift8相关的所有代码。
我认为这与轮班1-5的代码完全相同。所以我只是复制并粘贴了代码。
这里的错误可能是什么?
注意:由于显而易见的原因,从提供的代码中删除了电子邮件地址;)如果您需要测试,请使用有效地址填充它。
谢谢!
发布于 2010-08-31 12:53:16
php文件是否驻留在启用php的the服务器上?通常,当您看到代码时,这意味着服务器没有解释文件。
发布于 2010-08-31 12:55:59
如果您的代码在浏览器中结束,而不是被解释-这通常意味着服务器配置错误。一个正确配置的服务器永远不应该发送php代码。
一个可能的原因可能是文件名没有以.php结尾(所以服务器不知道它必须这样对待它)。
如果文件名没问题,您应该确保服务器支持PHP。
https://stackoverflow.com/questions/3606093
复制相似问题