Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/03/2008, 20:51
polo040983
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 8 meses
Puntos: 0
Información Re: AJAX + PHP Validar From

Hola que tal...

Soy igualmente novato en esto, etoy luchando igual con la validacion del un campo de usuario, lo he logrado hacer utilizando AJAX y en el codigo que pones observo los siguientes detalle:

Código:
ajax.open("GET", "includes/register_user.php?campo="+campo+"&valor="+valor,true);
Utilizas el metodo GET para el paso del parametro y tratas de enviar toda la informacion en la misma cadena, yo utilizo el metodo POST y los parametros lo envio en una cadena aparte y generada:

Código:
http_request.open("POST", "validausuario.php", true);
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send("qry_usuario=" + formulario.tfUsuario.value);
Una vez enviado esta informacion primero validando la exitencia y luego asignandola a una variable para usarla en la consulta, puedes obtener el parametro desde validausuario.php (en mi caso) con:

Código:
if(isset($_POST['qry_usuario']))    //consultas la exitencia de la variable
{
	$qry_usuario = $_POST['qry_usuario'];  //se asigna a una variable para poder utilizarla posteriormente en la consulta...
....
Este es el codigo que me ha funcionado a mi:
Código HTML:
var http_request;
if (window.XMLHttpRequest) // Mozilla, Safari, ...
{
     http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject) // Internet Explorer
{
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
http_request.open("POST", "validausuario.php", true);
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http_request.send("qry_usuario=" + formulario.tfUsuario.value);
http_request.onreadystatechange = function()
{
     if(http_request.readyState == 4)
     {	
           if(http_request.responseText != "OK")
           {
	alert(http_request.responseText);					return false;		
            }
      }
}
Y el codigo de validausuario.php es:
Código PHP:
if(isset($_POST['qry_usuario']))
{
    
$qry_usuario $_POST['qry_usuario'];
    
    
mysql_select_db($database_idse$idse);
    
$query_usuario "SELECT * FROM usuarios WHERE usuarios.usuario = '$qry_usuario'";
    
$usuario mysql_query($query_usuario$idse) or die(mysql_error());
    
$row_usuario mysql_fetch_assoc($usuario);
    
$totalRows_usuario mysql_num_rows($usuario);
    
    if(
$totalRows_usuario 0)
    {
        echo 
"El nombre de Usuario ya esta Registrado, por favor seleccione otro";
        
mysql_free_result($usuario);
    }
    else
    {
        echo 
"OK";
        
mysql_free_result($usuario);
    }


Espero te sirva esto... a mi realiza la validacion en forma adecuada, PEROOOO el detalle en que yo uso el evento OnSubmit del Form para habilitar la validacion... cuando ingreso el valor de usuario y esta repetido, me dice que el usuario ya existe, no corta el envio de la informacion e ingresa al usuario nuevamente...

La cabezera de form la tengo de la siguiente forma:


Código HTML:
<form id="form1" name="form1" method="POST" onsubmit= "return validaformulario(this);" action="<?php echo $editFormAction; ?>" > 
ojala puedan decirme a que se debe a que no corta el evento, aun cuando valida adecuandamente.....

Última edición por polo040983; 18/03/2008 a las 21:05