1
私はjqueryの電子メールの検証にいくつか問題がありますが、私はこの電子メールがすでに登録されているかどうかをチェックしたいと思います。ここでエラーメッセージ)JQueryの電子メールは既に登録されています
を示さないドキュメントによれば、遠隔検証の応答は、JSONエンコードスクリプト
$(document).ready(function(){
$("add_form").validate({
rules: {
email: {
required: true,
email: true,
remote: "emails.php"
},
},
messages: {
email: {
remote: jQuery.format("{0} is already in use")
}
},
});
とemails.phpファイル・コードここで
<?php
$request = trim(strtolower($_REQUEST['email']));
require 'db.inc.php';
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or
die ('Unable to connect. Check your connection parameters.');
mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));
$query = 'SELECT email FROM Users WHERE email="'.$request.'"';
$result = mysql_query($query, $db) or die(mysql_error());
$valid = 'true';
if (mysql_num_rows($result)>0)
{
$valid = '"Thats already taken."';
}
echo $valid;
?>
あなたのSQLはインジェクションに開放されています。このようなSQL文にダンプする前に、変数をサニタイズする必要があります。 PHPのPDOクラスや少なくともmysql_real_escape_string()を使って調べてください – Treffynnon
このスクリプトにはどのようなバリデーションプラグインが使用していますか? – Treffynnon
あなたは文書の準備ができていますが、タグを適切に閉じていません。あなたのjQueryの最後に '});'を追加する – Val