2009-08-17 6 views
5

wiem, że jest to możliwe, ale nie rozumiem, jak to działa. Szukałem online dla jak to zrobić i myślę, że jestem brakuje czegoś w procesiejQuery sprawdź bazę danych mysql, jeśli nazwa użytkownika jest już zajęta

Mam ten kod jQuery dotąd:

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

Jak mam napisać moją stronę php, aby to mówić do kodu jQuery?

Do tej pory mam:

$name = mysql_real_escape_string($name); 

$query = "SELECT USERNAME FROM T_MEMBER WHERE USERNAME='$name';"; 
$res = mysql_query($query); 
if (mysql_num_rows($res) > 0) { 
    return false; 
} else 
    return true; 

Jak uzyskać zmienną $ name z javascript? Czy muszę ustawić "zdalny" na POST?

Dzięki z góry, Ian McCullough

Odpowiedz

4

Twoja strona PHP komunikuje się z powrotem do Javascript tylko poprzez wyprowadzanie danych. W zależności od wtyczki, można osiągnąć true/false przez echo 1 lub 0, a może nawet struny true lub false

Instrukcja mówi:

Odpowiedź jest oceniany jako JSON i musi być true z ważnych elementów, a może być dowolny false, undefined or null dla nieprawidłowych elementów

Więc można zmienić PHP do tego:

if (mysql_num_rows($res) > 0) { 
    $output = true; 
} else { 
    $output = false; 
} 
echo json_encode($output); 
+0

dzięki! brakowało mi json_encode(); –

Powiązane problemy