Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   comprobar usuario en tiempo real (http://www.forosdelweb.com/f127/comprobar-usuario-tiempo-real-572036/)

Ruben_C 02/04/2008 18:11

comprobar usuario en tiempo real
 
Hola que tal, me encontre un script en tutores.org que se supone realiza una consulta a la base de datos para comprobar si existe o no el nombre de usuario.

Esto es ideal para no tener mas de un usuario con el mismo nombre.

Sin embargo no lo logro hacer funcionar, ya conecte a la base de datos pero no me realiza la comprobacion y en tutores no parece nadie.

Alguien sabe que me falta?

Aqui va el script

Código HTML:

<script>
function chk_usuario(){
var pos_url = 'comprueba.php';
var nombre = document.getElementById('usuario').value;
var req = new XMLHttpRequest();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4 && (req.status == 200 || req.status == 304)) {
document.getElementById('resultado').innerHTML = req.responseText;
}
}
req.open('GET', pos_url +'?nombre='+nombre,true);
req.send(null);
}
}
</script>

<form id="form1" name="form1" method="post" action="">
Comprueba si existe el usuario: tutores<br />
<input name="usuario" type="text" id="usuario" onKeyUp="chk_usuario();"/><br /><div id='resultado'></div>
<input type="submit" name="Submit" value="Enviar" />
</form>

y este es el php que hace la consulta

Código PHP:

<?
require_once('Conecction/nombre.php');
mysql_select_db($database_nombre,$nombre)
$usuarios mysql_query("Select * from nombre where nombre = '".@$_REQUEST['nombre']."'",@$nombre);
if (
mysql_num_rows($nombre)==0){
echo @
$_REQUEST['nombre'].' - Nombre de usuario Libre';
}else{
echo @
$_REQUEST['nombre'].' - Nombre de usuario ocupado';
}
mysql_close($nombre);
*/
?>

ahora si alguien sabe adonde hay otro script mas facil :-)

Ruben_C 02/04/2008 19:09

comprobar usuario en tiempo real
 
Supongo que en este foro alguien me puede ayudar, porque en el de ajax no anda casi nadie.

Resulta que me encontre este codigo en tutores.org, que verifica si existe o no el nombre de usuario en tu base de datos para asi evitar que se dupliquen.


yo lo cambien pero no se que me pueda faltar. este es el codigo de la pagina con el form

Código HTML:

<script>
function chk_usuario(){

var pos_url = 'comprueba.php';
var nombre = document.getElementById('usuario').value;
var req = new XMLHttpRequest();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4 && (req.status == 200 || req.status == 304)) {
document.getElementById('resultado').innerHTML = req.responseText;
}
}
req.open('GET', pos_url +'?nombre='+nombre,true);
req.send(null);
}
}
</script>

<form id="form1" name="form1" method="post" action="">
Comprueba si existe el usuario: tutores<br />
<input name="usuario" type="text" id="usuario" onKeyUp="chk_usuario();"/><br /><div id='resultado'></div>
<input type="submit" name="Submit" value="Enviar" />
</form>
</body>
</html>

Y este el del pagina que ejecuta la consulta:

Código PHP:

<? require_once('Conecction/nombre.php');
mysql_select_db($database_nombre,$nombre)
$usuarios mysql_query("Select * from nombre where nombre = '".@$_REQUEST['nombre']."'",$nombre);
if (
mysql_num_rows($usuarios)==0){
echo @
$_REQUEST['nombre'].' - Nombre de usuario Libre';
}else{
echo @
$_REQUEST['nombre'].' - Nombre de usuario ocupado';
}
mysql_close($nombre);
*/
?>

Si alguien sabe que me falta o si existe una mejor manera, se lo agradecere :-)

stramin 02/04/2008 19:23

Re: comprobar usuario en tiempo real
 
Revisa esto:

en la ubicacion 'Conecction/nombre.php' esta la coneccion a la base de datos?

la variable $database_nombre tiene el nombre de la base de datos?

la variable $nombre tiene el nombre es una conexion a Base de Datos?

y... la funcion de ajax esta?

y otra cosa, cuando escribes en el cuadro de texto, aparece un signo de exclamacion en un triangulo amarillo en la barra de estado?

y como siempre pido... podrias postear la pagina completa? XD

usermax 02/04/2008 19:32

Re: comprobar usuario en tiempo real
 
Hola amigo,

Este es un foro de php no de javascript.
Pero igualmente te sugiero que uses alguna librería para ajax.

Si usas jquery (www.jquery.com) el trabajo de ajax es un juego.

Fíjate, vamos al html:

Código HTML:

<!-- Incluimos la libreria jquery -->
<script type="text/javascript" src="jquery.js"></script>
 
<script type="text/javascript">
 
//CReamos la funcion que hará el trabajo (UNA SOLA LINEA!!!)
 
function ComprobarUsuario(user) {
$('#resultado').load("comprueba.php?nombre="+user);
}
</script>
 
<!-- Ahora el form -->
 
<form id="form1" name="form1" method="post" action="">
Comprueba si existe el usuario: tutores<br />
<input name="usuario" type="text" id="usuario" onKeyUp="ComprobarUsuario();"/><br /><div id='resultado'></div>
<input type="submit" name="Submit" value="Enviar" />
</form>


Saludos

Ruben_C 02/04/2008 19:35

Re: comprobar usuario en tiempo real
 
todo respecto a la coneccion esta bien porque es la misma manera en que inserto registros y hago consultas, el problema es que con este sript no me funciona.

respecto a la funcion ajax es chk_usuario() ¿o me equivoco?:neurotico

me da la impresion de que no capturo o no envio la orden para hacer la consulta a la base de datos ¿tendre que usar un $_GET o un $_POST?:'(

y respecto a la pagina, esa es toda la pagina, estoy trabajando en local, para probar el codigo.

usermax 02/04/2008 19:47

Re: comprobar usuario en tiempo real
 
Tu página php está bien por lo que vi. Lo unico que te faltaría es escapar le variable nombre para evitar inyecciones sql.

Usa lo que te dije arriba con respecto a ajax y te funcionará bien.

Para ver si tu php funciona entonces ingresa directamente por la url y prueba que te responde:

http://localhost/comprueba.php?nombre=test

Saludos

GatorV 02/04/2008 21:21

Re: comprobar usuario en tiempo real
 
Tema trasladado a AJAX.

MaBoRaK 03/04/2008 13:10

Re: comprobar usuario en tiempo real
 
loading..................

Hola ruben, creo que esos ejemplos que te dieron en tutores es "pésima" (muchas razones) pero bueno.

Cuando estudies algo, no la copies y esperes que funcione. Comienza con cosas realmente básicas (como esperas multiplicar si no sabes sumar?).

Puedes leer las FAQ (ahí tienen ejemplo de chekar usuario válido) o bien leer este tutorial. http://tutoriales.maborak.com/ajax/

Respecto a tu archivo PHP,.... no te sirve de mucho ya que solo te INFORMA y no te da opcion a hacer ALGO si lo que informa es true o false...

Dale tu puedes ;) ajax es muy fácil.


connection closed.

Ruben_C 04/04/2008 13:22

Re: comprobar usuario en tiempo real
 
Si la hice funcionar, jejeje.:aplauso:


La zona horaria es GMT -6. Ahora son las 07:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.