Heim > Backend-Entwicklung > PHP-Tutorial > Wie verwende ich die Remote-Methode von jQuery Validate, um die Verfügbarkeit von Benutzernamen zu überprüfen?

Wie verwende ich die Remote-Methode von jQuery Validate, um die Verfügbarkeit von Benutzernamen zu überprüfen?

Mary-Kate Olsen
Freigeben: 2024-12-20 08:16:16
Original
802 Leute haben es durchsucht

How to Use jQuery Validate's Remote Method to Check for Username Availability?

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

Mit jQuery Validate können Sie mithilfe der Fernbedienung überprüfen, ob in Ihrer Datenbank bereits ein Benutzername vorhanden ist Verfahren. Hier ist ein Beispiel:

jQuery:

$("#signupForm").validate({
  rules: {
    username: {
      required: true,
      minlength: 3,
      remote: {
        url: "check-username.php",
        type: "post"
      }
    }
  },
  messages: {
    username: {
      remote: "This username is already taken! Try another."
    }
  }
});
Nach dem Login kopieren

check-username.php:

<?php
header('Content-type: application/json');

$username = $_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

Wenn ein Wenn der Benutzer seinen Benutzernamen eingibt, sendet jQuery eine Anfrage mit dem Benutzernamen an check-username.php. Das PHP-Skript prüft, ob der Benutzername in der Datenbank vorhanden ist. Wenn dies der Fall ist, wird „false“ zurückgegeben, was darauf hinweist, dass der Benutzername vergeben ist. Andernfalls wird „true“ zurückgegeben.

Im vom Benutzer bereitgestellten Code tritt jedoch ein Fehler auf, wenn versucht wird zu überprüfen, ob der Benutzername vorhanden ist. Der Fehler ergibt sich aus der Zeile:

$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'");
Nach dem Login kopieren

Anstatt mysql_query zu verwenden, sollten Sie eine vorbereitete Anweisung verwenden, um SQL-Injection-Angriffe zu verhindern:

$stmt = $mysqli->prepare("SELECT username FROM mmh_user_info WHERE username=?");
$stmt->bind_param("s", $name);
Nach dem Login kopieren

Das korrigierte PHP-Skript würde so aussehen :

execute()) {
    $stmt->store_result();
    if ($stmt->num_rows() > 0) {
        $output = true;
    } else {
        $output = false;
    }
} else {
    $output = false;
}

$stmt->close();
$mysqli->close();

echo json_encode($output);
?>
Nach dem Login kopieren

Dieses Skript sollte nun genau prüfen, ob der Benutzername in der Datenbank vorhanden ist, und die richtige Antwort an jQuery zurückgeben Validieren.

Das obige ist der detaillierte Inhalt vonWie verwende ich die Remote-Methode von jQuery Validate, um die Verfügbarkeit von Benutzernamen zu überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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