Foros del Web » Programando para Internet » Javascript » Frameworks JS »

AJAX + PHP Validar From

Estas en el tema de AJAX + PHP Validar From en el foro de Frameworks JS en Foros del Web. bueno gente le comento que quiero validar el Formulario desde AJAX, input x input lo hago de esta manera esto es en Form.php: Código HTML: ...
  #1 (permalink)  
Antiguo 14/03/2008, 17:07
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 10 meses
Puntos: 14
AJAX + PHP Validar From

bueno gente le comento que quiero validar el Formulario desde AJAX, input x input lo hago de esta manera

esto es en Form.php:

Código HTML:
<input id="nickname" name="nickname" type="text" class="boxreg" onblur="javascript:ValidarCampo('nickname');"><div id="resp_nickname"></div> 
Llama a la siguiente funcion:

Código HTML:
function ValidarCampo(campo){
var respuesta;
var valor;
valor = document.getElementById(campo).value;
respuesta = document.getElementById("resp_"+campo);
ajax=NuevoAjax();
ajax.open("GET", "includes/register_user.php?campo="+campo+"&valor="+valor,true);
ajax.onreadystatechange=function(){
	if (ajax.readyState==4)
		{
			respuesta.innerHTML=ajax.responseText;
		}
 
	}
		ajax.send(null);
}
Esto anda de 10, el problema es cuando quiero poner el submit, quiero averiguar si hubo algun error, ahi se me genera el conflicto cuando tengo que manejar variables de AJAX en el php :s

Esto tengo en register_user.php, Dejo un pedaso de codigo:

Código PHP:
switch($Campo){
    case(
'nickname'):
        if(!
ereg("^[a-zA-Z0-9._]{4}"$CampoValue)){
            echo 
"Minimo 4 caracteres";
        }
        else{
            echo 
"nice";            
        }
        break;

Es la primera vexz que utilizo AJAX, por favor ayuda :)
  #2 (permalink)  
Antiguo 14/03/2008, 18:32
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 20 años
Puntos: 4
Re: AJAX + PHP Validar From

Primero realiza la validacion y luego la peticion ajax...
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #3 (permalink)  
Antiguo 15/03/2008, 13:38
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 10 meses
Puntos: 14
Re: AJAX + PHP Validar From

Si me podrias guiar un poquito :$.

Estoy intentando amigarme con AJAX, pero tamos dificiles xD.
  #4 (permalink)  
Antiguo 18/03/2008, 20:51
 
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:26.