Ir para conteúdo

POWERED BY:

Arquivado

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

AlterC

[Resolvido] Redirecionamento após login.

Recommended Posts

Olá pessoal...

 

Estou com um probleminha aqui em um redirecionamento. Já postei essa mesma dúvida em outros fóruns.

É o seguinte: Tenho dois tipos de usuários: Administrador e Visitante.

Assim que é efetuado o login o administrador é redirecionado para um setor específico para efetuar as atividades inerentes ao seu tipo de permissão.

o visitante é redirecionado para uma página onde ele só pode visualizar os dados cadastrados pelo administrador.

Esses dois setores (admin e visitante) estão fora da página inicial e necessita de login (claro!). Porém não consegui realizar esse redirecionamento.

Eu fiz um redirecionamento só que não achei adequado para a minha aplicação. Para tanto gostaria da opinião de vocês de como isso pode ser feito com segurança.

Inicialmente eu tenho esse código, que faz o redirecionamento após o login, mas não verifica o tipo de permissão:

<?
	$sql = "select login_user, senha_user, permissao_user from usuarios where (login_user = '$user') and (senha_user = '$senha')";
	$result = mysql_query($sql);
	if ( mysql_num_rows($result) == 1 ) {
		print ("<script> alert ('USUÁRIO AUTENTICADO'); </script>");
		$_SESSION['valid'] = true;
		$pagina = 'redirAdmin.php';
	}
			
	else {
		print ("<script> alert ('USUÁRIO NÃO AUTENTICADO'); </script>");
		$_SESSION['valid'] = false;
		$pagina = 'login.php';
	}
?>

Qual a solução mais adequada para fazer esse redirecionamento complementando o trecho de código acima?

Uma coisa importante: o campo 'permissao_user' está relacionado a uma outra tabela do meu bd que possui o id da pemissão, a descrição (Administrador e Visitante) e o patch (url) para qual deve ser redirecionado. Nesse caso ele verifica apenas se é Administrador ou Visitante. Dependendo do resultado o redirecionamento é realizado para o setor específico.

 

Desde já agradeço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?
	$sql = "select login_user, senha_user, permissao_user from usuarios where (login_user = '$user') and (senha_user = '$senha')";
	$result = mysql_query($sql);
	if ( mysql_num_rows($result) == 1 ) {
		print ("<script> alert ('USUÁRIO AUTENTICADO'); </script>");
		$_SESSION['valid'] = true;
		$pagina = 'redirAdmin.php';
	}
			
	else {
		print ("<script> alert ('USUÁRIO NÃO AUTENTICADO'); </script>");
		$_SESSION['valid'] = false;
		$pagina = 'login.php';
	}
	if (isset($pagina))
		header("Location: {$pagina}");
?>

Se era só redirecionar, tá aí ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não cara... redirecionando já está...

MAS!!! Não está verificando o tipo de permissão, entendeu?

No caso eu gostaria que verificasse o tipo de permissão do usuário e redirecionasse segundo essa verificação.

 

Mesmo assim valeu! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, na sua query você só está verificando se houve algum resultado, não está checando se o usuario é Admin ou Visitante.

 

$sql = "select login_user, senha_user, permissao_user from usuarios where (login_user = '$user') and (senha_user = '$senha')";

 

depois do if ( mysql_num_rows($result) == 1 ) { você tem que fazer um outro if, para ver se a variável permissao_user está com id de Admin ou Visitante :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba...

Vacilo meu criar um tópico e esquecer dele.

 

Então... já resolvi esse problema já.

Podem dar o tópico como resolvido.

 

A solução que adotei foi semelhante à que o ONeW sugeriu, mas eu estava com outros problemas com a sessão.

Por exemplo: Se um usuário normal realizasse o login ele poderia ver os projetos de outros usuários, desde que alterasse a URL.

Então verifiquei o número de registros retornados após o login e iniciei a sessão. Nesta seção salvei alguns dados como id, login, senha e permissão.

Assim para as páginas de projetos eu verifiquei se os dados coincidiam. O procedimento normal, mas a estrutura da minha aplicação exigia outras coisas.

Outra coisa que estava ajudando a causar esse problema eram os cookies, que resolvi tirar por não haver necessidade deles na minha aplicação.

 

Então é isso: Tópico resolvido!!!

 

Valeu pela ajuda galera :)

 

[]'s

 

imasters rlz!!!! \o/

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.