Heim > Datenbank > MySQL-Tutorial > Warum schlägt meine jQuery-Validierung der Remote-Methode bei der Überprüfung der Benutzernamenverfügbarkeit immer fehl?

Warum schlägt meine jQuery-Validierung der Remote-Methode bei der Überprüfung der Benutzernamenverfügbarkeit immer fehl?

Barbara Streisand
Freigeben: 2024-12-24 01:08:11
Original
610 Leute haben es durchsucht

Why Does My jQuery Validate Remote Method Always Fail When Checking Username Availability?

jQuery Validate: Verwenden der Remote-Methode zur Überprüfung der Benutzernamenverfügbarkeit

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.

Originalcode

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);
?>
Nach dem Login kopieren

Problem

Der Originalcode verwendete die Fernbedienung Methode falsch, da sie immer true zurückgab, was anzeigt, dass der Benutzername vergeben wurde.

Lösung

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;
?>
Nach dem Login kopieren

Erklärung

Der aktualisierte PHP-Code:

  • Verwendet die Variable $request, um den Benutzernamen abzurufen aus der Anfrage.
  • Fragt die Datenbank ab, um die Anzahl der Datensätze mit dem angegebenen Wert zu zählen Benutzername.
  • Setzt $valid auf „true“, wenn keine Datensätze gefunden werden, was anzeigt, dass der Benutzername verfügbar ist.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage