我嘗試了很多方法來解決這個問題,但好像我碰到了牆壁。它應該與這種方式的工作,但我無法找到任何錯誤,因爲這是寫有一個直接用電子郵件聯繫表格,使用php
語法錯誤,意想不到的$結束
後我點擊提交按鈕。
首先,我輸入這樣的代碼。
<form class="form" method="post" action="sendContact.php">
<table>
<tr>
<td class="contact-firstcol"> <label for="name">Name</label> </td>
<td class="contact-secondcol"> : </td>
<td class="contact-thirdcol"> <input type="text" name="name" id="name" /> </td>
</tr>
<tr>
<td class="contact-firstcol"> <label for="email">Email</label> </td>
<td class="contact-secondcol"> : </td>
<td class="contact-thirdcol"> <input type="text" name="email" id="email" /> </td>
</tr>
<tr>
<td class="contact-firstcol"> <label for="phone">Phone</label> </td>
<td class="contact-secondcol"> : </td>
<td class="contact-thirdcol"> <input type="text" name="phone" id="phone" /> </td>
</tr>
<tr>
<td class="contact-firstcol"> <label for="message">Message</label> </td>
<td class="contact-secondcol"> : </td>
<td class="contact-thirdcol"> <textarea id="message" name="message"></textarea> </td>
</tr>
<tr>
<td class="contact-firstcol"></td>
<td class="contact-secondcol"></td>
<td class="contact-thirdcol"> <input type="submit" name="submit" value="SUBMIT" /> </td>
</table>
</form>
該文件名爲sendContact.php
<?php
$to = '[email protected]';
$subject = 'from email contact';
$name = $_POST ['name'];
$email = $_POST ['email'];
$phone = $_POST ['phone'];
$message = $_POST ['message'];
$body = <<< EMAIL
Hi! My name is $name
$message.
From : $name
Email : $email
Topic : $topic
EMAIL;
$header = "From: $email";
if (isset($_POST)) {
if ($name == '' || $email == '' || $topic == '' || $message = '') {
$feedback = 'Please fill in any fields.';
} else {
mail($to, $subject, $body, $header);
$feedback = 'Thanks for the information, we will get back to you in 24 hours.';
}
}
?>
<p class="feedback"> <?php echo $feedback ?> </p>
我已經作出這樣簡單,也確保對電子郵件的細節將在輕鬆閱讀。你能指出上面的錯誤嗎?
乾杯
它仍然沒有工作過。我很困惑什麼是錯。有時候它會垃圾郵件。我不明白爲什麼。有什麼,我錯過? – Anthosiastic
實際這是不正確的,它是前面不能有任何空格的結束標籤「認識到結束標識符之前的第一個字符必須是本地操作系統定義的換行符也很重要(來自您提供的鏈接) – Kostis
那裏也有好點@Kostis –