Heim >Backend-Entwicklung >PHP-Tutorial >Wie verwende ich die Remote-Methode von jQuery Validate, um die Verfügbarkeit von Benutzernamen zu überprüfen?
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!