在此問題中,使用者嘗試使用 jQuery.validate 的遠端方法驗證使用者名稱是否存在。然而,他們遇到了一個問題,即使沒有使用用戶名,驗證也總是失敗。
jQuery: $("#signupForm").validate({ rules: { username: { required: true, minlength: 3, remote: "check-username.php" } }, messages: { username: { remote: "This username is already taken! Try another." } } }); check-username.php: <?php require_once "./source/includes/data.php"; header('Content-type: application/json'); $name = mysql_real_escape_string($_POST['username']); $check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'"); if (mysql_num_rows($check_for_username) > 0) { $output = true; } else { $output = false; } echo json_encode($output); ?>
原始程式碼使用了遠端方法不正確,因為它總是回傳true,表示使用者名稱是
使用者透過更新PHP程式碼解決了該問題,如下所示:
<?php require_once "./source/includes/data.php"; header('Content-type: application/json'); $request = $_REQUEST['username']; $query = mysql_query("SELECT * FROM mmh_user_info WHERE username ='$username'"); $result = mysql_num_rows($query); if ($result == 0) { $valid = 'true'; } else { $valid = 'false'; } echo $valid; ?>
更新的 PHP 程式碼:
以上是為什麼我的 jQuery 驗證遠端方法在檢查使用者名稱可用性時總是失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!