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