所以在過去2個月我的網站在線,我收到了2封來自我的聯繫表格的普通電子郵件,並且收到了30封空的未填寫表格電子郵件。我也使用驗證器http://faireware.de/js/jquery.form-validation-and-hints.js。 奇怪的是,我沒有得到這些空的電子郵件時,即我不填表格,並按發送。它以某種方式自動發生......垃圾郵件或其他東西,它可能是什麼?收到電子郵件上未填寫的聯繫表格
我的HTML代碼:
<form method="post" action="contactengine.php">
<div class="field required">
<p>Name<br>
<input class="text verifyText hint" name="name" type="text" size="25" title="*Ihr Name..."></p>
</div><!--/field-->
<div class="field required ">
<p>E-Mail<br>
<input class="email verifyMail hint " name="email" type="text" size="25" title="*Ihre E-Mail-Adresse..."></p>
</div><!--/field-->
<div class="field required ">
<p>Nachricht<br>
<textarea name="message" rows="50" cols="50" title="*Schreiben Sie Ihre Nachricht..." class="hint "></textarea></p>
</div><!--/field-->
<p><input class="submit" type="submit" value="Senden"></p>
</form>
和我contactengine.php是:
<?php
$Subject = "Kontaktformular - FaireWare";
$Name = Trim(stripslashes($_POST['name']));
$Email = Trim(stripslashes($_POST['email']));
$Message = Trim(stripslashes($_POST['message']));
$EmailFrom = $Email;
$EmailTo = "[email protected]";
// 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\n";
$Body .= "E-Mail: ";
$Body .= $Email;
$Body .= "\n\n";
$Body .= "Nachricht: ";
$Body .= "\n";
$Body .= $Message;
$Body .= "\n\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: $Email");
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
和空電子郵件的形式做出來是這樣的:
Name:
E-Mail:
Nachricht:
它做它是自動的,它如何超過驗證......?我不知道PHP和很少的Java,所以沒有人知道問題出在哪裏?
謝謝!
如果你直接點擊contactengine.php然後發送空白郵件。請添加服務器端驗證,在客戶端添加驗證碼。 –
其驗證問題,$ validationOK默認爲true。驗證碼在哪裏? – devpro
在發送郵件之前,您並未驗證字段,即字段是否爲空。使用'empty()'函數。 –