我是PHP新手。我正在为朋友的网站更新一些东西。
我以为我正确添加了代码,但是当我从html表单单击提交时,我基本上都会显示所有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相关的所有代码。
我认为它与Shifts 1-5的代码完全相同..所以我只是复制并粘贴了代码。
这里有什么错误?
注意:电子邮件地址已从提供的代码中删除,原因显而易见;)如果您需要测试,请使用有效地址填写。
谢谢!
答案 0 :(得分:1)
php文件是否位于启用php的网络服务器上?通常,当您看到代码时,这意味着服务器不会解释该文件。
答案 1 :(得分:0)
如果您的代码最终在浏览器中而不是被解释 - 这通常意味着服务器配置错误。正确配置的服务器永远不应该发送PHP代码。
可能的原因可能是文件名不以.php结尾(因此服务器不知道它必须如此处理它)。
如果文件名正常,则应确保服务器支持PHP。