我創建一個基於jQuery開發驗證插件評論形式(http://docs.jquery.com/Plugins/Validation)。我知道JavaScript很容易被黑客操縱,所以我想知道如何通過php進行驗證,以確保評論表單不會產生大量的垃圾郵件?PHP/AJAX/Jquery的評論表單驗證
JS的是直接從驗證插件。 html表單直接來自JS驗證插件頁面。額外的js如下:
<script>
$(document).ready(function(){
$("#commentForm").submit(function(){
if($("#commentForm").validate()){
$.ajax({
type: 'POST',
url: 'process.php',
data: $(this).serialize(),
success: function(returnedData){
alert(returnedData);
}
});
}
return false;
});
});
</script>
<form class="cmxform" id="commentForm" method="POST" action="process.php">
<label for="cname">Name</label>
<input id="cname" name="name" size="25" class="required" minlength="2" />
<label for="cemail">E-Mail</label>
<input id="cemail" name="email" size="25" class="required email" />
<label for="curl">URL</label>
<input id="curl" name="url" size="25" class="url" value="" />
<label for="ccomment">Your comment</label>
<textarea id="ccomment" name="comment" cols="22" class="required"></textarea>
<input class="submit" type="submit" value="Submit"/>
目前php是相當標準的。不知道如何將驗證與js和ajax集成:
<?php
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]';
mail($to, $subject, $message, $headers);
print "Form submitted successfully: <br>Your name is <b>".$_POST['cname']."</b> and your email is <b>".$_POST['email']."</b><br>";
?>
感謝您的任何幫助。有人評論說這是模糊的。爲了澄清:
我知道如何使用PHP來驗證電子郵件長度,不必要的字符,等等。我不知道如何jQuery的驗證插件通過Ajax的工作原理。我需要知道如何配置我的php條件以正確驗證評論表單以防止垃圾郵件。
這是非常寬泛的。但是你可以使用http://php.net/manual/en/function.strlen.php(strlen的)驗證的變量的長度,你可以使用正則表達式http://www.linuxjournal.com/article驗證電子郵件/ 9585。它將採用js和php驗證的組合來防止某人在未通過js驗證的情況下手動提交表單。然後,您可以將json返回到您的前端,或者在驗證失敗時忽略該請求。 – 2012-02-19 22:09:38
我瞭解php驗證的概念。我不明白如何將這些概念與jQuery驗證插件和ajax集成。我已經在上面澄清了。謝謝 – 2012-02-19 22:17:03
我幾乎肯定這兩件事彼此獨立,你應該通過javascript和php驗證它。因爲有些人可以在不使用表單的情況下打你的終端。 – 2012-02-19 22:19:13