我發現一個很好的html郵件webform在線感謝CSS技巧的人,一切似乎工作正常。該表單使用PHP作爲安裝在Apache上的模塊。在表格中,我要求用戶的姓名,電子郵件地址和評論。除用戶名外的所有內容都到達我的郵箱。我似乎無法找到這不起作用的原因。這是我的HTML代碼:
<div id="form_container">
<form method="post" name="contact_form" action="contactengine.php">
<table>
<tr>
<td class="description-column">
<label class="description" for="Name">Name </label>
</td>
<td>
<span><input id="Name" type="text" maxlength="455" value=""/ size="41></span>
</td>
</tr>
<tr>
<td class="description-column">
<label class="description" for="Email">Email </label>
</td>
<td>
<span><input id="Email" name="Email" type="text" maxlength="455" value=""/ size="41">
</span>
</td>
</tr>
<tr>
<td class="description-column">
<label class="description last" for="Message">Message </label>
</td>
<td>
<span>
<textarea id="Message" class="comment-box" name="Message" maxlength="455">
</textarea>
</span>
</td>
</tr>
<tr colspan="2">
<td></td>
<td class="buttons">
<input type="hidden" name="form_id" value="" />
<input type="submit" name="submit" value="Submit" class="submit-button" />
</td>
</tr>
</table>
</form>
</div>
這是PHP代碼:
<?php
$EmailFrom = "[email protected];"
$EmailTo = "[email protected]";
$Subject = "Mail";
$Name = Trim(stripslashes($_POST['Name']));
$Email = Trim(stripslashes($_POST['Email']));
$Message = Trim(stripslashes($_POST['Message']));
// validation
$validationOK=true;
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 .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$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=contactthanks.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
我假設下的PHP代碼//發送郵件會插入用戶進入郵箱的一切,發送到我的郵箱。這意味着它將在$ Body下輸入所有數據,其中包括$ Name。但它永遠不會給我起名字。 我也想知道爲什麼在第一個字段「$ EmailFrom」中,我應該輸入一個固定的電子郵件地址(在這種情況下是'[email protected]'),而用戶在html表單中輸入他的地址並在郵件中發送我收到。 $ EmailFrom字段僅供我查看誰發送了郵件而無需打開郵件。它也應該是用戶的郵件地址或用戶的名字。
我希望自己明白了嗎?
在此先感謝,我已經找到了許多有價值的答案在本網站關於其他主題:)
B帶name
屬性
'stripslashes'?爲什麼?你是否在啓用Magic Quotes的過時服務器上停留,或者你是否想要中斷用戶輸入? – Quentin
你爲什麼用'meta'而不是'Location' HTTP頭重定向人? – Quentin
我在2007年通過在線教程發現了此表單,因此我假設某些功能可能會被棄用。但只是要通知,我可以刪除反斜槓,如果是的話,我會怎麼做? –