AlterC 0 Denunciar post Postado Julho 11, 2008 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. Já 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
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 <? $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
AlterC 0 Denunciar post Postado Julho 11, 2008 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
ONeW 0 Denunciar post Postado Julho 11, 2008 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
AlterC 0 Denunciar post Postado Agosto 1, 2008 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
Alaerte Gabriel 662 Denunciar post Postado Agosto 1, 2008 Resolvido. Compartilhar este post Link para o post Compartilhar em outros sites