PHP для создания сценария?синтаксическая ошибка, неожиданно - PullRequest
0 голосов
/ 04 февраля 2010

Привет Кто-нибудь может предложить быстрый скрипт формы для формы php?Я сгенерировал приведенное ниже из telepro и немного изменил html и электронные письма, но я получаю эту ошибку для флажка

Ошибка разбора: синтаксическая ошибка, неожиданная '=' в /home/inn.co.uk/public / mailer.php на линии 14

спасибо за вашу помощь

С уважением Джуди

     <form method="POST" action="contact.php">

<div class="form-field">
  <input type="text" name="Name" onFocus="if(this.value=='Name')this.value='';" value="Name">
</div>
 <div class="form-field">
  <input type="text" name="Telephone" onFocus="if(this.value=='Telephone')this.value='';" value="Telephone">
</div>
<div class="form-field">
  <input type="text" name="Timetocall" onFocus="if(this.value=='Time to call')this.value='';" value="Time to call">
  </div>
<div class="form-field">
                <ul class="tickboxes">
                                      <li>Do you agree to our<br/><a href="terms-and-conditions.html">Terms of Business </a><input type="checkbox" name="DoyouagreetoourTermsofBusiness?" value="Yes" /></li></ul></div>




            <div class="button">
              <input type="image" src="images/submit.jpg" value="" name="submit">
            </div>
     </form>

<?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 = "enquiry@inn.co.uk";
$EmailTo = "judith@yahoo.co.uk";
$Subject = "New enquiry";
$Name = Trim(stripslashes($_POST['Name'])); 
$Telephone = Trim(stripslashes($_POST['Telephone'])); 
$Timetocall = Trim(stripslashes($_POST['Timetocall'])); 
$DoyouagreetoourTermsofBusiness? = Trim(stripslashes($_POST['DoyouagreetoourTermsofBusiness?'])); 

// validation
$validationOK=true;
if (Trim($Name)=="") $validationOK=false;
if (Trim($Telephone)=="") $validationOK=false;
if (Trim($Timetocall)=="") $validationOK=false;
if (Trim($DoyouagreetoourTermsofBusiness?)=="") $validationOK=false;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Telephone: ";
$Body .= $Telephone;
$Body .= "\n";
$Body .= "Timetocall: ";
$Body .= $Timetocall;
$Body .= "\n";
$Body .= "DoyouagreetoourTermsofBusiness?: ";
$Body .= $DoyouagreetoourTermsofBusiness?;
$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=ok.htm\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

1 Ответ

2 голосов
/ 04 февраля 2010

Вы используете вопросительный знак в имени вашей переменной.Это не работает.

См. Руководство PHP по переменным для соглашений по именованию.

replace

$DoyouagreetoourTermsofBusiness?

на

$DoyouagreetoourTermsofBusiness

и будет нормально работать.

...