Login com Ajax e PHP em Phonegap

Como faria para um login em phonegap ? e criasse uma sessão do usuário logado ?

Tipo, enviei a requisição em ajax pro php no servidor, até ai tudo bem, ele me retorna ok e eu vou pra página restrita, mas como eu criaria uma sessão daquele usuário via JS ? e faria pra que o PHP me retornasse o usuário que está logado, como fazer isso de uma forma segura pra um APP ?

1 curtida

Eu preciso da mesma coisa. Estou a muito tempo tentando. Conseguiu o algo?

Também tive este problema e considerei alguns aspectos para resolver este problema:

  • Considerando que o usuário final não tem acesso ao código (JavaScript -> APK).
  • Considerando tecnologias presentes no próprio HTML.

O exemplo abaixo (somente PHP) eu utilizei no desenvolvimento de um aplicativo feito em PhoneGap, no qual eu precisava mandar a comanda para o o serviço que iria retornar este número, caso ele existisse (Uma forma de verificação).

//obtendo dados via método GET
$idComanda = $_GET['idComanda'];

//montando select e executando no banco
$sql = "SELECT  idComanda FROM  comanda WHERE comanda.idComanda = '".$idComanda."'  ";

$result = $con->query($sql);

//veriricando resultado
if($result->num_rows > 0){
	
	 $dados = $result->fetch_assoc();
	//devolve uma resposta em formato json
	echo json_encode($dados);

}

Após, isso eu precisava armazenar este dados de maneira temporária. Então descobri uma tecnologia presente no HTML5 chamada localStorage/sessionStorage.
O localStorage/sessionStorage são uma espécie de cache do navegador na qual você pode armazenar dados de maneira definitiva (localsStorage) ou temporária (sessionStorage).

O localStorage salva dados no computador do visitante, que ficam vinculados ao (e apenas acessíveis pelo) seu domínio. E pra usar é bem simples:
Use o método setItem(nome, valor) para criar/salvar novos itens e o depois o método getItem(nome) para recuperar o valor.

// Cria um item "usuario" com valor "Thiago Belem"
window.localStorage.setItem('usuario', 'Thiago Belem');

// Depois, em outra página ou aba, recupera esse item
var usuario = window.localStorage.getItem('usuario');

// Remove o item
window.localStorage.removeItem('usuario');

Já o sessionStorage faz exatamente a mesma coisa, só que os dados ficam salvos apenas durante a sessão (e são apagados quando o visitante fecha a aba/navegador):

// Cria um item "usuario" com valor "Thiago Belem"
window.sessionStorage.setItem('usuario', 'Thiago Belem');

// Depois, em outra página ou aba, recupera esse item
var usuario = window.sessionStorage.getItem('usuario');

// Remove o item
window.sessionStorage.removeItem('usuario');

Espero ter ajudado! Abs
Fontes:
http://blog.thiagobelem.net/armazenando-informacoes-no-computador-do-visitante-com-localstorage-e-sessionstorage