이 질문에서 사용자는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!