Skip to content

Instantly share code, notes, and snippets.

@siddharta1337
Last active October 5, 2017 07:12
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save siddharta1337/5362969 to your computer and use it in GitHub Desktop.
Save siddharta1337/5362969 to your computer and use it in GitHub Desktop.
Autenticacion de usuario con Phonegap + jQuery Mobile + PHP
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Validacion de usuarios</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
</head>
<body>
<div data-role="page" id="inicio">
<div data-role="header">
<h1>Autenticacion de Usuario</h1>
</div>
<div data-role="content">
<form id="formulario" >
<label> Usuario </label>
<input type="text" id="nombredeusuario" name="nombredeusuario">
<label> Password </label>
<input type="password" id="clave" name="clave" >
<input type="submit" value="Login" id="botonLogin">
</form>
</div>
</div>
<div data-role="page" id="home">
<div data-role="header">
<h1>Bienvenido</h1>
</div>
<div data-role="content">
<h2> Bienvenido a la aplicacion </h2>
<h3> Su usuario y password son válidos</h3>
</div>
</div>
<script>
$('#formulario').submit(function() {
// recolecta los valores que inserto el usuario
var datosUsuario = $("#nombredeusuario").val()
var datosPassword = $("#clave").val()
archivoValidacion = "http://revolucion.mobi/ejemplos/phonegap/envioFormulario/validacion_de_datos.php?jsoncallback=?"
$.getJSON( archivoValidacion, { usuario:datosUsuario ,password:datosPassword})
.done(function(respuestaServer) {
alert(respuestaServer.mensaje + "\nGenerado en: " + respuestaServer.hora + "\n" +respuestaServer.generador)
if(respuestaServer.validacion == "ok"){
/// si la validacion es correcta, muestra la pantalla "home"
$.mobile.changePage("#home")
}else{
/// ejecutar una conducta cuando la validacion falla
}
})
return false;
})
</script>
</body>
</html>
<?php
/* Define los valores que seran evaluados, en este ejemplo son valores estaticos,
en una verdadera aplicacion generalmente son dinamicos a partir de una base de datos */
$usuarioValido = "revolucion";
$passwordValido = "movil";
/* Extrae los valores enviados desde la aplicacion movil */
$usuarioEnviado = $_GET['usuario'];
$passwordEnviado = $_GET['password'];
/* crea un array con datos arbitrarios que seran enviados de vuelta a la aplicacion */
$resultados = array();
$resultados["hora"] = date("F j, Y, g:i a");
$resultados["generador"] = "Enviado desde revolucion.mobi" ;
/* verifica que el usuario y password concuerden correctamente */
if( $usuarioEnviado == $usuarioValido && $passwordEnviado == $passwordValido ){
/*esta informacion se envia solo si la validacion es correcta */
$resultados["mensaje"] = "Validacion Correcta";
$resultados["validacion"] = "ok";
}else{
/*esta informacion se envia si la validacion falla */
$resultados["mensaje"] = "Usuario y password incorrectos";
$resultados["validacion"] = "error";
}
/*convierte los resultados a formato json*/
$resultadosJson = json_encode($resultados);
/*muestra el resultado en un formato que no da problemas de seguridad en browsers */
echo $_GET['jsoncallback'] . '(' . $resultadosJson . ');';
?>
@eucm2
Copy link

eucm2 commented Aug 14, 2013

Muchas gracias por el aporte

@algife
Copy link

algife commented Sep 6, 2013

Grande! Gracias!

@danielvila
Copy link

Hola, gracias por la explicación pero tengo un problema veras si ejecuto este codigo por http funciona sin problema pero si lo ejecuto en el emulador salen las dos paginas desde el inicio y no hace la validación.

@danielvila
Copy link

Hola, solucione el problema, era que estaba usando en ejemplo y solo agregaba los archivos, empece un proyecto nuevo y todo salio bien, gracias.

@jordyjes
Copy link

jordyjes commented Oct 8, 2013

Que tal muy buenaporte pero ya lo probe y al querer poner el usuario y contraseña no se agregan las letras al los input text, que pasa?

@joalmar1911
Copy link

gracias, para los novatos es cojonudo

@edwinagc28
Copy link

Muchas Gracias por el ejemplo, me gustaria saber como se puede hacer esa validación no con php si no con jquery

@iva29234
Copy link

Gracias buen tutorial...

¿Y si en lugar de ponerlo a "piñón fijo" (el user&Passwrod) se tuviera que "coger" los datos de una base de datos MySQL ¿cómo se tendría que hacer??

Gracias

@rubendario989
Copy link

el boton de inicio del programa se queda permanente mente oprimido es como si el click no se soltara o cual no permite funcionar en android. alguna ayuda por favor

@coderdiaz
Copy link

Muy buena aportanción, muchas gracias, ahora entiendo el concepto de jSON :)

@escrapy01
Copy link

para coger el dato de una bd yo lo hice de la siguiente manera:

0) { $login=1; } else { $login=0; } /\* Define los valores que seran evaluados, en este ejemplo son valores estaticos, en una verdadera aplicacion generalmente son dinamicos a partir de una base de datos */ /\* Extrae los valores enviados desde la aplicacion movil */ $usuarioEnviado = $_GET['usuario']; $passwordEnviado = $_GET['password']; /\* crea un array con datos arbitrarios que seran enviados de vuelta a la aplicacion */ $resultados = array(); $resultados["hora"] = date("F j, Y, g:i a"); $resultados["generador"] = "Enviado desde metin2imperio.com" ; /\* verifica que el usuario y password concuerden correctamente _/ if( $login==1 ){ /_esta informacion se envia solo si la validacion es correcta */ $resultados["mensaje"] = "Validacion Correcta"; $resultados["validacion"] = "ok"; }else{ /*esta informacion se envia si la validacion falla */ $resultados["mensaje"] = "Usuario y password incorrectos"; $resultados["validacion"] = "error"; } /_convierte los resultados a formato json_/ $resultadosJson = json_encode($resultados); /*muestra el resultado en un formato que no da problemas de seguridad en browsers */ echo $_GET['jsoncallback'] . '(' . $resultadosJson . ');'; ?>

espero y a alguien le sirva :)

@jcpacho
Copy link

jcpacho commented Oct 19, 2015

Hola gracias por el aporte a mi me funciona muy bien en el emulado pero cuando genero el .apk ya no que podría ser?

@raulbht
Copy link

raulbht commented Oct 5, 2017

Buenos días, he realizado un nuevo proyecto en Phonegap y he copiado y pegado tal cual el código. Lo que pasa es que me funciona perfecto en el navegador pero cuando lo ejecuto en el emulador no me funciona...
Alguien me podría explicar que pasa?
Gracias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment