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