2009-08-17 12 views
5

sé que esto es posible, pero no estoy seguro de cómo funciona. He estado buscando en línea para cómo se hace y creo que me falta algo en el procesojQuery comprueba la base de datos mysql si el nombre de usuario ya está tomado

tengo este código jQuery hasta ahora:

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

¿Cómo debo escribir mi página php para que sea hablar para el código jQuery?

hasta ahora tengo:

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

¿Cómo consigo la variable $ nombre del Javascript? ¿Debo configurar el "control remoto" para que sea POST?

Gracias de antemano, Ian McCullough

Respuesta

4

Su página PHP se comunica de nuevo al Javascript sólo a través de la salida de los datos. Dependiendo del complemento, se puede lograr una true/false haciendo eco de 1 o 0, o tal vez incluso la cadena true o false

El manual dice:

La respuesta se evalúa como JSON y debe ser true de elementos válidos, y puede ser cualquier false, undefined or null para los elementos no válidos

para que pueda cambiar su PHP a esto:

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

gracias! me faltaba el json_encode(); –

Cuestiones relacionadas