Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Menggunakan Kaedah Jauh jQuery Validate untuk Semak Ketersediaan Nama Pengguna?

Bagaimana Menggunakan Kaedah Jauh jQuery Validate untuk Semak Ketersediaan Nama Pengguna?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-20 08:16:16710semak imbas

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

jQuery Sahkan Kaedah Jauh untuk Semak Ketersediaan Nama Pengguna

Dengan jQuery Validate, anda boleh mengesahkan jika nama pengguna sudah wujud dalam pangkalan data anda menggunakan alat kawalan jauh kaedah. Berikut ialah contoh:

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

Apabila pengguna memasukkan nama pengguna mereka, jQuery akan menghantar permintaan untuk menyemak nama pengguna.php dengan nama pengguna. Skrip PHP akan menyemak sama ada nama pengguna wujud dalam pangkalan data. Jika ia berlaku, ia akan mengembalikan palsu, menunjukkan bahawa nama pengguna telah diambil. Jika tidak, ia akan kembali benar.

Walau bagaimanapun, dalam kod yang diberikan oleh pengguna, ralat berlaku apabila cuba menyemak sama ada nama pengguna itu wujud. Ralat berpunca daripada baris:

$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'");

Daripada menggunakan mysql_query, anda harus menggunakan pernyataan yang disediakan untuk menghalang serangan suntikan SQL:

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

Skrip PHP tetap akan kelihatan seperti ini :

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

Skrip ini kini harus menyemak dengan tepat sama ada nama pengguna wujud dalam pangkalan data dan mengembalikan respons yang betul kepada jQuery Sahkan.

Atas ialah kandungan terperinci Bagaimana Menggunakan Kaedah Jauh jQuery Validate untuk Semak Ketersediaan Nama Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn