PHPの検証について質問があります。このスクリプトがあります
$(document).ready(function(){
// validate signup form on keyup and submit
var validator = $("#contactform").validate({
rules: {
email: {
email: true,
required: true,
remote: { url: "test.php", type: "post" }
}
},
messages: {
email: {
email: "Enter a valid email adress",
required: "This input is required",
remote: "Email adress is in use"
}
},
// set this class to error-labels to indicate valid fields
success: function(label) {
label.addClass("checked");
}
});
});
test.php の検証スクリプトは次のとおりです。
define('__ROOT__', dirname(dirname(dirname(__FILE__))));
require_once (__ROOT__.'/config.php');
$email = mysql_real_escape_string($_POST['email']);
$SQL = $mysqli->query("SELECT * FROM users WHERE email='$email'");
If($SQL->num_rows == 0) {
echo 'true';
} else {
echo 'false';
}
どうすればphpファイルからの検証をより複雑にすることができますか:電子メールが有効かどうかを確認するルールを追加したい(誰かがjavascriptをアクティブにしていない場合に備えて)が、このようなことを試してみると検証メールアドレスがデータベースにある場合、スクリプトはエラーメッセージを返しません
If(filter_var($email, FILTER_VALIDATE_EMAIL) == false) {
$SQL = $mysqli->query("SELECT * FROM users WHERE email='$email'");
If($SQL->num_rows == 0) {
echo 'true';
} else {
echo 'false';
}
}