首頁 > 後端開發 > php教程 > 如何使用 jQuery Validate 的遠端方法檢查使用者名稱可用性?

如何使用 jQuery Validate 的遠端方法檢查使用者名稱可用性?

Mary-Kate Olsen
發布: 2024-12-20 08:16:16
原創
761 人瀏覽過

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

jQuery 驗證遠端方法來檢查使用者名稱可用性

使用jQuery Validate,您可以使用遠端驗證資料庫中是否已存在使用者名稱方法。這是一個範例:

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;
?>
登入後複製
check-username.php:

check-username.php:

$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'");
登入後複製

$stmt = $mysqli->prepare("SELECT username FROM mmh_user_info WHERE username=?");
$stmt->bind_param("s", $name);
登入後複製
當使用者輸入他們的使用者名稱,jQuery 將使用使用者名稱向check-username.php 發送請求。 PHP 腳本將檢查資料庫中是否存在使用者名稱。如果是,則傳回 false,表示使用者名稱已被佔用。否則,它將傳回 true。

但是,在使用者提供的程式碼中,嘗試檢查使用者名稱是否存在時會發生錯誤。這個錯誤源自於以下行:
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);
?>
登入後複製

您應該使用準備好的語句來防止SQL 注入攻擊,而不是使用mysql_query:修復的PHP 腳本如下所示:此腳本現在應該準確檢查資料庫中是否存在使用者名稱並向jQuery 傳回正確的回應驗證。

以上是如何使用 jQuery Validate 的遠端方法檢查使用者名稱可用性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板