Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Motta

header location e ajax nao funciona, como fazer?

Recommended Posts

oi pessoal

beleza?

 

de inicio, me desculpa se coloquei no forum errado.

 

bom, ja mexo com php, mas essa noite comeci com ajax, e surgiu um problema que não estou consseguindo resolver. Nao achei nada do google também que respondesse a minha duvida

 

é o seguinte:

 

CODE

pagina: login.html

 

<script>

var request = getXmlHttp();

 

function __efetuarLogin(varForm)

{

var varLogin;

var varSenha;

 

varLogin = escape(varForm.cxtLogin.value);

varSenha = escape(varForm.cxtSenha.value);

 

request.open("POST", "login.php", true);

 

request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

request.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");

request.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");

request.setRequestHeader("Pragma", "no-cache");

request.onreadystatechange = confirmacaoLogin;

request.send("login=" + varLogin + "&senha=" + varSenha);

}

 

function confirmacaoLogin()

{

// readyState == 4 quer dizer Completo e sem erros

if (request.readyState == 4)

{

if (request.status != 200)

{

//

}

else

{

document.getElementById("molduraMsgRetornoLogin").innerHTML = request.responseText;

}

}

}

 

</script>

 

 

CODE

pagina: login.php

 

<?php

$conn = mysql_connect('localhost','root','');

mysql_select_db('bd_teste',$conn);

 

$login = $_POST['login'];

$senha = $_POST['senha'];

 

$sql = "SELECT * FROM clientes WHERE login = '$login' AND senha = '$senha'";

$res = mysql_query($sql, $conn);

 

$qtd = mysql_num_rows($res);

 

$msg = "";

 

if ($qtd >= 1)

{

$linha = mysql_fetch_array($res);

 

if ( ($linha["login"] == $login) && ($linha["senha"] == $senha) )

{

// usuario encontrado

header("location: administracao.php");

}

}

 

...

 

?>

 

 

CODE

pagina: administracao.php

 

<?php

echo "você esta na pagina administracao.php";

?>

 

 

 

quando o usuário digita o login e senha correto, ao inves de ser redirecionado para a pagina administracao.php, o que esta escrito nela é que aparece em:

document.getElementById("molduraMsgRetornoLogin").innerHTML

 

 

gostaria de saber como posso fazer isso?

 

obrigado

Thiago Motta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim, no login.php:

if ( ($linha["login"] == $login) && ($linha["senha"] == $senha) )
{
	// usuario encontrado
	echo "location.href = 'administracao.php';";
}

e no login.html

if (request.status != 200)
{
	//
}
else
{
	eval(request.responseText);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa

deu certo nao cara

mas acabei fazendo assim:

 

 

no login.php

CODE

if ( ($linha["login"] == $login) && ($linha["senha"] == $senha) )

{

//usuario encontrado

echo "USUARIO ENCONTRADO";

}

...

 

 

no login.html

CODE

if ( (ajax.readyState == 4) && (ajax.status == 200) )

{

if (ajax.responseText == "USUARIO ENCONTRADO")

{

window.location.href = "codigo/administracao.php";

}

else

{

document.getElementById("molduraMsgRetornoLogin").innerHTML = ajax.responseText;

}

}

 

 

mas valeu

thiago

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.