Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/09/2009, 07:51
mega0079
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Disponibilidad de usuario con xajax y php

Hola a todos

Me he copiado un codigo bastante bueno acerca de la disponibilidad de usuario utilizando xajax y php y lo quise poner a prueba en mi pagina web pero no funciona veran en la pagina donde lo copie solo decia tenia que hacer una consulta para que me verificara si ese usuario ya existia o no poes lo intente pero no funciona espero me puedan ayudar gracias

Código:
function comprobar_permitidos($cadena){
$permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
for ($i=0; $i<strlen($cadena); $i++){

if (strpos($permitidos, substr($cadena,$i,1))===false){

return false;
}
} 

return true;
} 
//Aqui es donde se supone que solo tendria que hacer una consulta para verificar la disponibilidad de usuarios
function comprobar_repetidos($cadena){
$sql=mysql_query("select * from usuarios where nick='$_POST[usuario]'");
while($row = mysql_fetch_array($sql)) 
{ 
if($cadena == $row['nick']){
return false;
}else
{	return true;
}}
}
function validar_usuario($entrada){
//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse();

if ($entrada == ""){
//escribimos en la capa con id="mensaje" que no se ha escrito nombre de usuario
$respuesta->assign("mensaje","innerHTML","Debes escribir algo como nombre de usuario");
//Cambiamos a rojo el color del texto de la capa mensaje
$respuesta->assign("mensaje","style.color","red");
}elseif (!comprobar_permitidos($entrada)){
//escribimos en la capa con id="mensaje" el error que el usuario tiene caracteres permitidos
$respuesta->assign("mensaje","innerHTML","El nombre de usuario tiene caracteres no permitidos");
//Cambiamos a rojo el color del texto de la capa mensaje
$respuesta->assign("mensaje","style.color","red");
}elseif (!comprobar_repetidos($entrada)){
//escribimos en la capa con id="mensaje" el error que el usuario está repetido
$respuesta->assign("mensaje","innerHTML","El nombre de usuario escrito ya está en uso");
//Cambiamos a rojo el color del texto de la capa mensaje
$respuesta->assign("mensaje","style.color","red");
}else{
//es que todo ha ido bien
//escribimos en la capa con id="mensaje" que todo ha ido bien
$respuesta->assign("mensaje","innerHTML","Todo correcto");
//Cambiamos a azul el color del texto de la capa mensaje
$respuesta->assign("mensaje","style.color","blue");
}

//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}

//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("validar_usuario");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<?php
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="thickbox.js"></script>
<link rel="stylesheet" href="thickbox.css" type="text/css" media="screen" />
</head>
<body>

<input alt="#TB_inline?height=300&width=700&inlineId=myOnPageContent " title="Registro del Usuarios" class="thickbox" type="button" value="Show" />  

<div id="myOnPageContent" class="oculto">

<form id="formulario" name="formulario" method="post" action="registrar.php"  >
  <table border="0">
    <tr>
      <th scope="col">*Nick:</th>
      <td><input type="text" name="usuario" size="20" onchange="javascript:xajax_validar_usuario(document.formulario.usuario.value)" /> <div id="mensaje"></div></td>