In dieser Frage versucht ein Benutzer, die Existenz eines Benutzernamens mithilfe der Remote-Methode von jQuery.validate zu überprüfen. Sie stoßen jedoch auf ein Problem, bei dem die Validierung immer fehlschlägt, auch wenn der Benutzername nicht verwendet wird.
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); ?>
Der Originalcode verwendete die Fernbedienung Methode falsch, da sie immer true zurückgab, was anzeigt, dass der Benutzername vergeben wurde.
Der Benutzer hat das Problem gelöst, indem der PHP-Code wie folgt aktualisiert wurde:
<?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; ?>
Der aktualisierte PHP-Code:
Das obige ist der detaillierte Inhalt vonWarum schlägt meine jQuery-Validierung der Remote-Methode bei der Überprüfung der Benutzernamenverfügbarkeit immer fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!