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

Problema con sistema de logueo usando AJAX+json+mysql+php

Estas en el tema de Problema con sistema de logueo usando AJAX+json+mysql+php en el foro de Frameworks JS en Foros del Web. Estimados Tengo una página donde es necesario iniciar sesión, quiero hacer que el usuario y la contraseña se validen cuando le doy al SUBMIT, el ...
  #1 (permalink)  
Antiguo 30/01/2011, 11:45
 
Fecha de Ingreso: enero-2011
Ubicación: Montevideo
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 1
Problema con sistema de logueo usando AJAX+json+mysql+php

Estimados

Tengo una página donde es necesario iniciar sesión, quiero hacer que el usuario y la contraseña se validen cuando le doy al SUBMIT, el tema es que la contraseña aparece vacio.
Tengo un form que es donde lleno todos los datos - indexOk.php + el código de ajax + la función que me procesa la conexión con la base y me devuelve el dato a ajax.

el tema es que si desde el form accedo a procesaLogin.php todo me funciona bien, nose por que dsde ajax no.

Acá esta el form del indexOk.php

Código PHP:
<form "name="login" method="post" action="procesaLogin.php">
      <dl>
    <dt>Usuario:</dt>
    <dd>
          <input class="
inputTextLogin" name="usuario" id="usuario1" size="14" type="text"/>
              <input name="
ipForm" value="" type="hidden" />
              <input name="
nombreUsuario" id="nombreUsuario" value="" type="hidden" />
              <input name="
apellidoUsuario" id="apellidoUsuario" value="" type="hidden" />
        </dd>
    <dd>
              <input class="
inputTextLogin" name="password" id="password1" size="14" type="password">
            
              <input name="
areaUsuario"  id="areaUsuario" value="" type="hidden" />
              <input name="
internoUsuario" id="internoUsuario" value="" type="hidden" />
              <input name="
idUsuario" id="idUsuario" value="" type="hidden" />
              <input name="
cargoUsuario" id="cargoUsuario" value="" type="hidden" />
              <div id="
errorLogin"></div>
        </dd>
        <dd><input class="
inputButton" id="enviaForm" value="Entrar" type="submit" ></dd>
      </dl>
</form> 
******************

Acá esta el AJAX

Código:
$(document).ready(function(){

	var pass3 = $("#password1").attr('value'); 
	var usuario3 = $("#usuario1").attr('value');
	alert ("usuario: " + usuario3 +" - pass: "+ pass3);//esto lo puse para corroborar que no me llega el pass
	
	
	$("#enviaForm").click(function(){ 
			$.ajax({
				async: true,
				data: "user="+ usuario3 + "&pass="+ pass3,
				type: "POST",
				//contentType: "application/x-www-form-urlencoded",
				dataType: "json",
				cache: false,
				url: "procesaLogin.php",
				success: function(data) { 
				alert ("usuario: " + usuario3 +" - pass: "+ pass3);
						alert("entre en success ajax!! -> " + data.idError+ " " + data.nombreUser+ " ....pass:" + data.apellidoUser);
						if(data.idError==0){
							okLogin(data);
						}else {	errorLogin(data);}
							
							},
				error: function(data) {
						alert ("usuarioerr: " + usuario3 +" - passerr: "+ pass3);
						 alert("entre en error ajax!! -> " + data.idError+ " " + data.nombreUser+ " ....pass:" + data.apellidoUser);
						 errorLogin(data);}
			});	
		return false;
	});
	 
});

function errorLogin(data){

alert("estoy por entrar en errorLogin" + usuario3 + " " + pass3);
	$("#errorLogin").show();
	$("#errorLogin").append("Error: "+ data.error);
	
}


function okLogin(data){

alert("estoy por entrar en okLogin");
	$("#nombreUsuario").append(data.nombreUser);
	$("#apellidoUsuario").append(data.apellidoUser);
		
}
*************************

Acá esta la función procesaLogin.php

Código PHP:
<?php

$user_var 
$_POST['usuar'];
$pass_var $_POST['passw'];



$con mysql_connect("localhost","xxx","xxx");
if (!
$con)
{
    die(
'No se puedo realizar la conexion: ' mysql_error());
}

mysql_select_db("xBDx"$con);


$result mysql_query("SELECT * FROM usuario WHERE user='".$user_var."' and pass='".$pass_var."'");

if(!
$result){
        
$jsondata['error']= "Datos erroneos";
        
$jsondata['idError']=1;
        
$jsondata['nombreUser'] = $user_var "PHP";//Acá muestro los datos solo para corroborar
        
$jsondata['apellidoUser'] = $pass_var "PHP";// mientras no me funciona

}
else {

    
$row mysql_fetch_array($result);

    
$jsondata['nombreUser'] = $row['nombre'];
    
$jsondata['apellidoUser'] = $row['apellido'];
    
$jsondata['areaUser'] = $row['area'];
    
$jsondata['internoUser'] = $row['interno'];
    
$jsondata['idUser'] = $row['idUsuario'];
    
$jsondata['cargoUser'] = $row['cargo'];
    
$jsondata['error'] = "Datos OK";
    
$jsondata['idError'] = 0;
    }

    echo 
json_encode($jsondata);
    
mysql_close($con);



?>
Agradezco la ayuda que me puedan dar en esto, he estado un par de días, si bien lo puedo hacer de otra forma sin usar ajax, ahora estoy como guri chico... quiero que funcione si o si... je

Saludos
  #2 (permalink)  
Antiguo 30/01/2011, 16:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde AJAX

Con Ajax te podría ayudar, pero cuando median las librerías, la ayuda te la pueden dar en este foro.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 31/01/2011, 06:47
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Problema con sistema de logueo usando AJAX+json+mysql+php

estas enviando parámetros
user y pass
Código Javascript:
Ver original
  1. data: "user="+ usuario3 + "&pass="+ pass3,

en el php querés recuperar
usuar
passw
Código PHP:
Ver original
  1. $user_var = $_POST['usuar'];
  2. $pass_var = $_POST['passw']
  #4 (permalink)  
Antiguo 01/02/2011, 18:53
 
Fecha de Ingreso: enero-2011
Ubicación: Montevideo
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con sistema de logueo usando AJAX+json+mysql+php

ok, si eso me quedo de los cambios que realice para tratar de que funcionara.
Si bien es correcto lo que me marcas, eso ya lo tengo corregido, de hecho en el momento de postear este problema lo tenia corregido.

Si pueden ver algún otro error que no sea ese se agradece.

Saludos!!!!!
  #5 (permalink)  
Antiguo 02/02/2011, 06:20
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Problema con sistema de logueo usando AJAX+json+mysql+php

es que estas tratando de recuperar los valor al cargar la página y no cuando hacen el click

deberia ser
Código Javascript:
Ver original
  1. $("#enviaForm").click(function(){
  2.     var pass3 = $("#password1").attr('value');
  3.     var usuario3 = $("#usuario1").attr('value');

utilizá el evento submit porque si le dan enter para enviar el formulario se va a enviar pero no por ajax
  #6 (permalink)  
Antiguo 07/02/2011, 11:33
 
Fecha de Ingreso: enero-2011
Ubicación: Montevideo
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con sistema de logueo usando AJAX+json+mysql+php

Impecable, muchas gracias por la ayuda!!!!

Saludos

Etiquetas: logueo, sitemap
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 23:19.