Jump to content


CarlosMatanza

Member Since 11/07/2008
Offline Last Active 20/02/2009, 12:05
-----

Posts I've Made

In Topic: Problemas Com Redirecionamento.

22/07/2008, 15:56

Então galera... desculpa pela demora para responder...
Tive alguns probleminhas e fiquei off por uns dias. <_<

Bem... consegui resolver o problema. Mais ou menos da mesma forma que o Júlio Psy sugeriu.
O problema nem era fazer o redirecionamento, que é bem simples. O problema era redirecionar para um setor específico do administrador verificando a página de início e sem deixar que outra pessoa que tivesse autenticado caísse no setor administrativo.

Além disso, após o redirecionamento toda a minha página perdia a estrutura de arquivos (arquivos .css e .js) já que a minha página de referência não seria mais index.php e sim index_admin.php. Logo, ficava totalmente desconfigurada.

A solução que adotei foi a seguinte:

valida.php
// Seleciona os dados necessários para a realização do Login e a verificação da Permissão.
$sql = "select login, senha, permissao from usuarios where (login = '$login') and (senha = '$senha')";
$result = mysql_query($sql);
$dados = mysql_fetch_array($result);
if ( mysql_num_rows($result) == 1 ) {
	print (" <script> alert ('USUARIO AUTENTICADO'); </script> ");
	$_SESSION['valid'] = true;
	$tpermissao = $dados['permissao'];
	if ( $tpermissao == "1" ) {
			$pagina = '../admin/index_admin.php'; //-> Tive que colocar essa variável para não perder a minha estrutura de arquivos!!!
		print ("  <script> location.href = '../admin/index_admin.php';</script> ");
	}
	if ( $tpermissao == "2" ) {
		$pagina = '../user/index_user.php'; //->
	}
}

Até aí tudo bem! Segui mais ou menos o padrão que o Júlio Psy sugeriu, mas quando eu logava como usuário e mudava, no browser, para a URL de admin eu entrava no sistema sem problemas. Para evitar isso fiz essa verificação no meu controlador:

control.php
include('conexao.php');
// Pega o número da página e inicia sessão. Caso a sessão não tenha sido iniciada realiza redirecionamento.
$pag = $_GET['pag'];
session_start ();
// Verifica o número da página. Caso a página seja '1' ou '_'(nada), e a sessão seja válida o conteúdo principal do Setor
// Administrativo é mostrado.
if ( ( $pag == 1 ) || ( $pag == '' ) && ( $_SESSION['valid'] == true ) ) { 
	$pagina = 'conteudo.php'; // Essa página é onde está o meu conteúdo principal que será exibido na div logo apos o login.;)
}
// Caso a sessão seja fala é realizado um redirecionamento para a página de login.
if ( $_SESSION['valid'] == false ){
	print (" <script> location.href = '../site/index.php';</script>");
}

Portanto!!! Meu problema foi resolvido!!!
Valeu Júlio Psy.
Espero que a minha solução também possa ser útil para alguém.
:rolleyes:

[]'s

IPB Skin By Virteq