Ir para conteúdo

Arquivado

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

André Maretti

Direcionar a página

Recommended Posts

Pessoal...

 

Alguém sabe me dizer pq o header está dando erro:

<?PHP

session_start();

include("conexao_bd.php");

$sql = mysql_query("SELECT * FROM senha");

$senha = mysql_fetch_array($sql);

if($_POST["text_usuario"] == "adm"){
	if($_POST["text_senha"] == $senha["senha"]){
		$_SESSION["login_adm"] = "OK";
		?>
	    <script language="javascript">
		alert("Administrador(a), Seja bem-vindo(a)!")
		</script>
        <?PHP
		header("Location: painel_adm.php");
	} else {
		?>
	    <script language="javascript">
		alert("Senha Inválida")
		</script>
		<?PHP
		header("Location: ../index.html");		
	}
}else{
		?>
	    <script language="javascript">
		alert("No momento, login autorizado apenas para Administrador(a).")
		</script>
		<?PHP	
		header("Location: ../index.html");		
}

?>

Se alguém puder me dar uma "luz"... rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque não deve existir saídas antes do header.. tais como HTML(o teu caso), echo/print...

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o alert depois do header, já na página em que o cara entrou ou não.

 

não faz sentido isso que você falou, location.href="" funciona sim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o próprio alert() seja uma saída do navegador, e por esse motivo esteja dando erro.

 

Você pode utilizar ob_start(); na primeira linha do código e ob_end_flush(); na última. Funciona, mas não recomendo muito.

 

Outra maneira é com JS, como citado. Seu location.href deve estar errado, procure no Google sobre redirecionamento de páginas com JS, que facinho você encontra.

 

Inté!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal...

 

posso até fazer o alert nas outras paginas... mas iria ficar meio confusa a lógica do meu sistema aqui... melhor mesmo se pudesse ficar na pagina q autentica o login.

 

Mas de toda forma fiquei intrigado sobre o location.href.

 

Deem uma olhada no meu script por favor:

 


<?PHP

session_start();

include("conexao_bd.php");

$sql = mysql_query("SELECT * FROM senha");

$senha = mysql_fetch_array($sql);

if($_POST["text_usuario"] == "adm"){
	if($_POST["text_senha"] == $senha["senha"]){
		$_SESSION["login_adm"] = "OK";
		?>
	    <script language="javascript">
		alert("Administrador(a), Seja bem-vindo(a)!")
		window.location.href("painel_adm.php");
		</script>
        <?PHP
	} else {
		?>
	    <script language="javascript">
		alert("Senha Inválida")
		window.location.href("../index.html");
		</script>
		<?PHP
	}
}else{
		?>
	    <script language="javascript">
		alert("No momento, login autorizado apenas para Administrador(a).")
		window.location.href("../index.html");
		</script>
		<?PHP	
}

?>

Me parece estranho o problema estar no meu comando... pois no IE funciona e no Chrome não.. :mellow:

 

Se vcs quiserem testar: http://www.escritoriooliveira.com.br

 

o login é adm e a senha é teste

 

No IE ele redireciona... mas no Chrome não <_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

location.href é uma propriedade, e não um método.

 

troque:

window.location.href("painel_adm.php");
por:

window.location.href = 'painel_adm.php';
eu pessoalmente, acho confusas é essas mensagens alert() com javascript...

 

se eu entrar no teu site com o suporte a js desligado, não vou saber oque aconteceu.

 

não use o atributo language, ele está depreciado

prefira o atributo type

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, a utilizacao do alert, nao cai nada bem, você pode tirar o alert e usar o header.

e dentro da pagina fazer um controle de sessao

verificando se o usuario esta devidamente logado ou nao

Compartilhar este post


Link para o post
Compartilhar em outros sites

location.href é uma propriedade, e não um método.

 

troque:

window.location.href("painel_adm.php");
por:

window.location.href = 'painel_adm.php';
eu pessoalmente, acho confusas é essas mensagens alert() com javascript...

 

se eu entrar no teu site com o suporte a js desligado, não vou saber oque aconteceu.

 

não use o atributo language, ele está depreciado

prefira o atributo type

 

 

Ficaria então:

 

<script type="text/javascript">

 

ao invés de

 

<script language="javascript">

 

?

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.