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
Mary-Kate OlsenOriginal
2024-12-20 08:16:16706Durchsuche

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."
    }
  }
});

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;
?>

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'");

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);

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);
?>

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!

Stellungnahme:
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