PHP代码错误

时间:2010-08-31 04:45:40

标签: php

我是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>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td height="18" valign="top"><strong>Volunteer Signup Form</strong></td>
  </tr>
  <tr>
    <td width="35">&nbsp;</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>&nbsp;</td>
  </tr>
</table>

</form>    </td>
  </tr>
</table>

</body>
</html>

我所做的改变: 我添加了与Shift6,Shift7,Shift8相关的所有代码。

我认为它与Shifts 1-5的代码完全相同..所以我只是复制并粘贴了代码。

这里有什么错误?

注意:电子邮件地址已从提供的代码中删除,原因显而易见;)如果您需要测试,请使用有效地址填写。

谢谢!

2 个答案:

答案 0 :(得分:1)

php文件是否位于启用php的网络服务器上?通常,当您看到代码时,这意味着服务器不会解释该文件。

答案 1 :(得分:0)

如果您的代码最终在浏览器中而不是被解释 - 这通常意味着服务器配置错误。正确配置的服务器永远不应该发送PHP代码。

可能的原因可能是文件名不以.php结尾(因此服务器不知道它必须如此处理它)。

如果文件名正常,则应确保服务器支持PHP。