Gunner 0 Denunciar post Postado Março 24, 2009 Olá pessoal. Estou com uma duvida para fazer um login de um curso via web que estou fazendo. a pagina login.php será utilizada por tres tipos de usuarios: aluno, tutor e administrador. Quando cada um desses inserir o login e senha corretos, cada um será redirecionado a uma pagina diferente. Já vi isso aqui no forum, mas o meu problema é que no meu banco existe para cada tipo de usuario uma tabela (alunos, tutores, adms) porque para mim nao fica viavel colocar apenas uma tabela de usuario e cadastrar alunos,tutores e adms nessa mesma tabela, por questoes de relacionamentos com outras tabelas, nao posso fazer uma tabela usuario onde ficariam as informacoes desses tres tipos de usuarios. Gostaria de saber se tem como fazer o login abrir paginas diferentes para diferentes tipos de usuarios??? Sendo que o php iria ter que procurar em tres tabelas no banco, pois eu apenas vi o php procurando o login (usuario e senha) do usuario em uma unica tabela do banco. Ps: Sou iniciante em programação. Aguardo a ajuda de voces Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Março 24, 2009 primeiro crie um campo nivel na sua tabela de login. depois você vai cadastrar para adm nivel 1,tutor nivel2, aluno nivel 3. Login.php <? session_start(); $base = mysql_connect('Localhost','usuario','senha') or die ("Erro ao conectar."); $db = mysql_select_db(BD); if(isset($_GET['acao'])) { if($_GET['acao'] == "login") { if (isset($_POST['login'])) { if (empty($_POST['login'])) { $erro[] = "Informe seu login."; } } else { $erro[] = "Informe seu login."; } if (isset($_POST['senha'])) { if (empty($_POST['senha'])) { $erro[] = "Informe sua senha."; } } else { $erro[] = "Informe sua senha."; } if (!isset($erro)){ $login =addslashes(htmlentities($_POST['login'])); $senha = addslashes(htmlentities($_POST['senha'])); $senha = md5($senha); $sql = "SELECT * FROM user WHERE login = '$login' and senha = '$senha'"; $result = mysql_query($sql, $base) or die ("Erro ao executar sql"); $linha = mysql_num_rows($result); $reg_login = mysql_fetch_array($result, MYSQL_ASSOC); if (($linha > 0) and ($reg_login['nivel'] == '1')){ $_SESSION['login'] = $reg_login['login']; $_SESSION['senha'] = $reg_login['senha']; $_SESSION['nivel'] = $reg_login['nivel']; header("Location: paginaadm.php"); exit; } else { $erro[]= "Usuário e/ou senha invalido(s)."; } if (($linha > 0) and ($reg_login['nivel'] == '2')){ $_SESSION['login'] = $reg_login['login']; $_SESSION['senha'] = $reg_login['senha']; $_SESSION['nivel'] = $reg_login['nivel']; header("Location: tutor.php"); exit; } else { $erro[]= "Usuário e/ou senha invalido(s)."; } if (($linha > 0) and ($reg_login['nivel'] == '3')){ $_SESSION['login'] = $reg_login['login']; $_SESSION['senha'] = $reg_login['senha']; $_SESSION['nivel'] = $reg_login['nivel']; header("Location: aluno.php"); exit; } else { $erro[]= "Usuário e/ou senha invalido(s)."; } } } } ?> <HTML> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> body,p,a,span,div,input,legend,h1,h2,h3,h4,h5,h6,li,dd,dt,th,td{ font-family:Arial, Helvetica, sans-serif; } body,p,a,span,div,input,legend,li,dd,dt,th,td{ font-size:10pt; } #loginform { width:300px; margin:auto; } #loginform fieldset{ padding:10px; } #loginform legend{ font-weight:bold; font-size:9pt; } #loginform label{ display:block; height:2em; background-color:#D77100; padding:10px 10px 0; } #loginform input { margin-right:20px; border:1px solid #999999; float:right; clear:right; background:#FFFFFF; } #loginform input:focus,#loginform input:hover { border:1px solid #333333; } .error{ color:red; font-weight:bold; } </style> <TITLE>Login</TITLE> </HEAD> <BODY> <?php if(isset($erro)){ echo "<ul>"; for ($i=0;$i<count($erro);$i++) { echo "<li>".$erro[$i]."</li>"; } echo "</ul>"; } if(isset($_GET['erro'])){ echo "<ul> <li>É preciso logar-se para acessar a area restrita.</li> </ul>"; } ?> <form id="loginform" action="<?=$_SERVER['PHP_SELF']?>?acao=login" method="post"> <fieldset> <legend>Log In</legend> <label for="username"><input type="text" name="login" tabindex="1" id="username"><b>Usuário:</b> </label> <label for="password"><input type="password" name="senha" tabindex="2" id="password"><b>Senha:</b> </label> <label for="submit"> <input name="Submit" type="submit" id="submit" tabindex="3" value="Log in"> </label> </fieldset> </form> </BODY> </HTML> no começo de cada pagina você tem que ver qual sessao esta carregada, nivel 1,2,3. para evitar que os usuarios carreguem as paginas pelo browser. Nesse exemplo a pagina soh pode ser carregada se a session for com nivel 1. ADM. <?php session_start(); if(!isset($_SESSION['login']) || !isset($_SESSION['senha'])) { header("Location: index.php?erro=1"); exit; } if ($_SESSION['nivel'] > 1') { header("Location: index.php?erro=1"); exit; } ?> da uma estudada, você tem q pegar o raciocinio desse codigo, eu peguei ele aqui no imaster mesmo, esqueci do link, eu modifiquei umas coisas. mas procura aqui que tem uma video aula, muito muito boa.. pesquisa sobre SESSION. Compartilhar este post Link para o post Compartilhar em outros sites
Gunner 0 Denunciar post Postado Março 25, 2009 Cara você foi de grande ajuda Muito obrigado mesmo. ^^ T breve. Compartilhar este post Link para o post Compartilhar em outros sites