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);
?> Saludos



