2013-09-11 5 views
-2

Итак, мне стало скучно, и я решил попробовать создать простую форму PHP для отправки электронной почты с данными формы. Но теперь он продолжает возвращать ту же ошибку, и это действительно усугубляет ситуацию. Вот информация форма:PHP для отправки электронной почты из формы возвращает ошибку T_STRING

<table class="table-1" cellspacing="5"> 
    <tr> 
     <td><label for=fullname>Full Name</label></td> <td><input type="text" name="fullname" id="fullname" placeholder="First and Last Name" /></td> 
    </tr> 
    <tr> 
     <td><label for=email>Email</label></td> <td><input type="email" name="email" id="email" placeholder="[email protected]" /></td> 
    </tr> 
    <tr> 
     <td><label>Age</label></td> 
     <td> 
      <select name="age"> 
       <option value="14">14</option> 
       <option value="15">15</option> 
       <option value="16">16</option> 
       <option value="160">160</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td><label>Are you a programmer/developer?</label></td> 
     <td> 
      <select name="program-q"> 
       <option value="yes">Yes</option> 
       <option value="no">No</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td><label for=picUrl>Picture?</label></td> 
     <td><input type="text" name="picUrl" placeholder="URL of your Image" /></td> 
    </tr> 
    <tr> 
     <td><label>Are you an <a href="http://wikipedia.org/wiki/Otaku" target="_blank">Otaku?</a></label></td> 
     <td><input type="checkbox" name="otaku-yes" /> Yes </td> 
    </tr> 
    <tr> 
     <td><label>Do you like JROCK/JPOP?</label></td> 
     <td><input type="checkbox" name="jrock-yes" /> <label for=jrock-yes>Heck yeah!</label></td> 
    </tr> 
    <tr> 
     <td><label>Would you dress up like a maid randomly<br /> and call me 'master' all day?</label></td> 
     <td><input type="checkbox" name="maid-q" /> <label for=maid-q>Why Not? ;D </label></td> 
    </tr> 
    <tr> 
     <td><input type="submit" name="submit" value="Apply Now!" /></td> 
    </tr> 

Эта часть работает отлично, и тогда это PHP:

<?php 
    $to = "[email protected]"; 
    $subject = "New Submission"; 
    $email = $_POST['email']; 
    $fullname = $_POST['fullname']; 
    $age = $_POST['age']; 
    $programmer = $_POST['program-q']; 
    $picUrl = $_POST['picUrl']; 
    $otaku = $_POST['otaku-yes']; 
    $jrock = $_POST['jrock-yes']; 
    $maid = $_POST['maid-q']; 
    $headers = "From: $email"; 
    $sent = mail("$to, \n $subject, \n $fullname, \n $age, \n $programmer, \n $picUrl, \n $otaku, \n $jrock, \n $maid); 
    if ($sent) { 
     echo "Good."; 
    } else { 
     echo "Not good."; 
    } 

?> 

Everytime Я нажимаю 'Отправить', это то, что он возвращается. Независимо от того, сколько раз я отлажены, мой сервер просто продолжает посылать это:

Синтаксическая ошибка: синтаксическая ошибка, неожиданный T_STRING в /home/weeshare/public_html/wtf/contact.php на линии 15

Любые идеи о том, что не так? Я занимаюсь этим уже несколько часов и до сих пор ничего не работает.

ответ

1

Вам не хватает " в конце аргумента вызова mail().

Я предлагаю использовать редактор, который делает подсветку синтаксиса, это позволяет легко распознать такую ​​ошибку.

Также см PHP Parse/Syntax Errors; and How to solve them?

И как Майкл Берковский указывает, ваш mail() вызов не так, чтобы избавиться от кавычек и \n.

+0

Нет упоминания о том, что вызов 'mail() - это нонсенс? 'mail()' принимает несколько аргументов, а не одну большую строку. –

+0

Я исправил это, но теперь он утверждает и ошибки для строки 13 .. –

+0

@MichaelBerkowski, по одной ошибке за раз, а? :) –

0

Подсветка синтаксиса здесь на SO должна дать вам представление о том, что случилось не так! Возможно, вы имели в виду что-то большее по сравнению с этим (N.B. удалил $ headers и измененный запрос почты()):

$to = "[email protected]"; 
$subject = "New Submission"; 
$email = $_POST['email']; 
$fullname = $_POST['fullname']; 
$age = $_POST['age']; 
$programmer = $_POST['program-q']; 
$picUrl = $_POST['picUrl']; 
$otaku = $_POST['otaku-yes']; 
$jrock = $_POST['jrock-yes']; 
$maid = $_POST['maid-q']; 

$sent = mail($to, $subject, $fullname . ' ' . $age . ' ' . $programmer . ' ' . $picUrl . ' ' . $otaku . ' ' . $jrock . ' ' . $maid); 

if($sent) { 
    echo "Good."; 
} 
else { 
    echo "Not good."; 
} 
Смежные вопросы