Ir ao conteúdo
  • Cadastre-se

Redirecionamento de página com ajax


Posts recomendados

E aí gurizada, beleza? É o seguinte, tenho um form de login, por ele faço uma requisição via ajax ao arquivo .php que faz a autenticação. Problema que pelo ajax não consigo faz o redirecionamento da página caso o usuário esteja correto.

function Logar(){
	var usuario = $("#user").val();
	var pass = $("#senha").val();

	if(usuario == "" || pass == "") {
		alert("Todos os campos são obrigatórios");
	} else {
		//alert(user + senha);
		$.ajax({
			url: "./controle/autentica.php",
			dataType: "html",
			method: "post",
			data: {user: usuario, senha: pass}
		}).done(function(retorno){
			if( retorno == parseInt(1)) {
				window.location("../admin.php");
			} else {
				alert("Dados não encontrados");
			}
		});

		$("#user").val("");
		$("#senha").val("");
	}
}

E o php onde é feito a autenticação (é um php bem simples, por hora):

<?php

include "conection.php";
session_start();

if(isset($_POST['user']) && isset($_POST['senha'])) {

	$login = $_POST['user'];
	$senha = $_POST['senha'];

	$sql = "SELECT * FROM usuario WHERE login = '$login'";
	$query = $mysqli->query($sql);

	if ($query) {

		while ($res = $query->fetch_array()) {

			$log = $res['login'];
			$pass = $res['senha'];
			$nome = $res['nome'];
			$email = $res['email'];

			echo $email;
		}
	} 
}

O "echo $email" é apenas um teste verificando se os dados estão corretos. Depois que obtenho a verificação do banco de dados, como faço o redirecionamento? Já tentei colocar, ao término do while, o header para a página admin, mas na chamada ajax, ou não vai para a página ou se coloco um alert, aparece o html da página. Se coloco no .done do ajax um window.location, a verificação não é feita indo diretamente para a página admin.

 

 

Editado >>>

Resolvi da seguinte maneira:

 

Código php:

<?php

include "conection.php";
session_start();

if(isset($_POST['user']) && isset($_POST['senha'])) {

	$login = $_POST['user'];
	$senha = $_POST['senha'];

	$sql = "SELECT * FROM usuario WHERE login = '$login'";
	$query = $mysqli->query($sql);

	if ($query) {

		while ($res = $query->fetch_array()) {

			$log = $res['login'];
			$pass = $res['senha'];
			$nome = $res['nome'];
			$email = $res['email'];

			if( $login == $log && $senha == $pass) {
				echo "true";
				//echo $email;
			} else {
				echo "Dados não encontrados!";
			}
		}
	} 
}

e o ajax:

function Logar(){
	var usuario = $("#user").val();
	var pass = $("#senha").val();

	if(usuario == "" || pass == "") {
		alert("Todos os campos são obrigatórios");
	} else {
		//alert(user + senha);
		$.ajax({
			url: "./controle/autentica.php",
			dataType: "html",
			method: "post",
			data: {user: usuario, senha: pass},
		}).done(function(retorno){
			//alert(retorno)
			if(retorno == "true") {
				window.location.href='./admin.php';
			} else {
				alert("Dados não encontrados!");
			}
		});

		$("#user").val("");
		$("#senha").val("");
	}
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...