jQueryとAjaxを使用してユーザー入力を検証する単純な登録フォームがあります。 Ajaxが電子メールアドレスのサーバー側の検証を行い、データベースに接続しようとすると、結果は$msg
で返されません。ここでAjaxを通してMySQLを渡す
function checkUser() {
$search = mysql_query("SELECT * FROM users WHERE username = '" . $username . "'");
$match = mysql_num_rows($search);
if($match > 0) {
$msg .= 'Username already in use, please try another.';
}
}
はJSです:定義されていないあなたは$msg
と$username
を使用しているあなたのcheckUser()
機能では、
function send(datastr) {
$.ajax({
type: "POST",
url: "./scripts/addmember.php",
dataType: "text",
data: datastr,
cache: false,
success: function(html) {
$("#errordiv").fadeIn("slow");
$("#errordiv").html(html);
//setTimeout('$("#errordiv").fadeOut("slow")',2000);
}
});
}
ちょっとだけあなたが思っているならば、なぜダウン票(ない私)これはJSを介してSQLを渡しひどいアプリケーションの設計があります/ Ajax。あなたはあなたのデザインを再考したいかもしれません。 –
addmember.phpを使用しないと、一般的な提案以外は何も与えにくいです。 – Purefan
@DamenTheSifterとその理由でダウンvした人:タイトルが間違っています。 AjaxにSQLが渡されることはありません。最初のスニペットは* PHP *です。変数 '$ username'だけが表示されるので、おそらくSQLインジェクションに脆弱ではないでしょう。あなたはそれをエスケープしていますよね? – Ryan