Rumah > pangkalan data > tutorial mysql > Mengapa jQuery Saya Mengesahkan Kaedah Jauh Sentiasa Gagal Apabila Menyemak Ketersediaan Nama Pengguna?

Mengapa jQuery Saya Mengesahkan Kaedah Jauh Sentiasa Gagal Apabila Menyemak Ketersediaan Nama Pengguna?

Barbara Streisand
Lepaskan: 2024-12-24 01:08:11
asal
613 orang telah melayarinya

Why Does My jQuery Validate Remote Method Always Fail When Checking Username Availability?

jQuery Validate: Menggunakan Kaedah Jauh untuk Semak Ketersediaan Nama Pengguna

Dalam soalan ini, pengguna cuba mengesahkan kewujudan nama pengguna menggunakan kaedah jauh jQuery.validate. Walau bagaimanapun, mereka menghadapi isu di mana pengesahan sentiasa gagal, walaupun nama pengguna tidak diambil.

Kod Asal

jQuery:

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

check-username.php:

<?php
require_once "./source/includes/data.php";
header('Content-type: application/json');

$name = mysql_real_escape_string($_POST['username']);

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

if (mysql_num_rows($check_for_username) > 0) {
    $output = true;
} else {
    $output = false;
}
echo json_encode($output);
?>
Salin selepas log masuk

Isu

Kod asal menggunakan alat kawalan jauh kaedah tidak betul, kerana ia sentiasa dikembalikan benar, menunjukkan bahawa nama pengguna adalah diambil.

Penyelesaian

Pengguna menyelesaikan isu dengan mengemas kini kod PHP mereka seperti berikut:

<?php
require_once "./source/includes/data.php";
header('Content-type: application/json');
$request = $_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;
?>
Salin selepas log masuk

Penjelasan

Kod PHP yang dikemas kini:

  • Menggunakan pembolehubah $request untuk mendapatkan semula nama pengguna daripada permintaan.
  • Meminta pangkalan data untuk mengira bilangan rekod dengan nama pengguna yang ditentukan.
  • Menetapkan $valid kepada 'true' jika tiada rekod ditemui, menunjukkan bahawa nama pengguna tersedia.

Atas ialah kandungan terperinci Mengapa jQuery Saya Mengesahkan Kaedah Jauh Sentiasa Gagal Apabila Menyemak Ketersediaan Nama Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan