grasi 0 Denunciar post Postado Novembro 28, 2008 Gente, fiz um sistema de login, no BD a tabela tem os campos: id, nome, email, nivel, senha e data Qdo crei a página de login, no server behavior....LogIn user coloquei para restringir baseado em nível e selecionei o campo correto da tabela do BD. Agora vem a grande dúvida, nessa tela configurei para se tiver sucesso no login direcionar para o index.php mas eu quero que no login direcione para index.php apenas se o nivel for administrador e que se o nivel for normal direcione para index2.php, como arrumo isso se nessa tela do LogIn user ele não tem como arrumar isso??? Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Novembro 29, 2008 Cria Ifs Se for adm --> index else --> index2 Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Novembro 30, 2008 grasi, vou tentar explicar melhor: após o procedimento q você já postou tem outras etapas. agora você tem q abrir a pg index no Dreamweaver e acionar o server behavior "User Autentication - Restrict Access to page"; no quadro q abre, selecione a opção "Username, password and access level"; - será habilitado o quadro "Select Level(s)"; - clique em "define" e digite especificamente os niveis q poderão acessar essa pagina. vá inserindo no quadro "Define access levels" clicando no sinal de mais (+) p/ inserir cada nivel - OK. - dpois, p/ confirmar a seleção dos diversos niveis, selecione-os no quadro "Select level(s):" pressionando CTRL - só dpois disso clique em ok. salve e teste. observe q em cada pg q terá acesso restrito você vai ter q repetir essa operação, ajustando o nivel c for o caso - ex: na index2 você pode usar "editor" ou "supervisor".. etc.. c quiser alterar esses quadros d 2 cliques no server behavior "Restrict Access to page" (não tente adicionar outro pq vai receber msg d erro).. v c deu p/ entender.. qqer coisa retorne.. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Dezembro 1, 2008 observe q em cada pg q terá acesso restrito você vai ter q repetir essa operação, Discordo existe funções do Dreamweaver nativas como includes por exemplo. Se for fazer isso citado basta apenas uma vez e chama-la em qualquer página. DW tem essa grande vantagem de se gerar códigos em php. bom não aconselho muito a geração destes código uso somente como editor mas... e como eu disse quatro linhas resolve com ifs é so comparar a variável com que esta no banco. A questão não é gerar mas sim entender o que é gerado para manipulação e economizar o servidor. Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Dezembro 1, 2008 observe q em cada pg q terá acesso restrito você vai ter q repetir essa operação, Discordo existe funções do Dreamweaver nativas como includes por exemplo. Se for fazer isso citado basta apenas uma vez e chama-la em qualquer página. DW tem essa grande vantagem de se gerar códigos em php. bom não aconselho muito a geração destes código uso somente como editor mas... e como eu disse quatro linhas resolve com ifs é so comparar a variável com que esta no banco. A questão não é gerar mas sim entender o que é gerado para manipulação e economizar o servidor. Fernando o processo de restringir pelo dreamwewaver se aplica mais as páginas internas depois do login para não ter perigo de alguém tentar acessar a página sabendo o link direto. O que estou tentando fazer é algo mais como Wduarte disse. Quero logo no login que ele direcione para pagina index ou index2 dependendo do perfil, mas não estou conseguindo fazer com os ifs. Tem que ter um campo a mais no formulário para o cara escolher o perfil de login? Por favor me dê mais dicas. :) Segue abaixo o código do login.php <?php require_once('../Connections/conntopdecor.php'); ?> <?php // *** Validate request to login to this site. if (!isset($_SESSION)) { session_start(); } $loginFormAction = $_SERVER['PHP_SELF']; if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck']; } if (isset($_POST['usu_email'])) { $loginUsername=$_POST['usu_email']; $password=md5($_POST['usu_senha']); $MM_fldUserAuthorization = "usu_nivel"; $MM_redirectLoginSuccess = "index_admin.php"; $MM_redirectLoginFailed = "login.php?login_errado=true"; $MM_redirecttoReferrer = false; mysql_select_db($database_conntopdecor, $conntopdecor); $LoginRS__query=sprintf("SELECT usu_email, usu_senha, usu_nivel FROM usuarios WHERE usu_email='%s' AND usu_senha='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $conntopdecor) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = mysql_result($LoginRS,0,'usu_nivel'); //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Login</title> </head> <body> <?php if(isset($_GET["login_errado"])) { ?> <p><strong>O login e/ou senha não consta em nosso banco de dados.</strong></p> <?php } ?> <form name="form1" id="form1" method="POST" action="<?php echo $loginFormAction; ?>"> <p>Email: <input name="usu_email" type="text" id="usu_email" /></p> <p>Senha: <input name="usu_senha" type="password" id="usu_senha" /></p> <p><input type="submit" name="Submit" value="Logar" /></p> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Dezembro 1, 2008 Olá grasi! posta o código da sql pra mim ver como que ta vindo este usu_nivel do banco e que não tou muito com coragem de fazer este sql e ja vou adiantando este sistemas não funcionara mais no php6 e todos os sisteamas gerados pelo DW CS3 PRA BAIXO pois nada mudou em relação aos códigos por causa disso aqui abaixo get_magic_quotes_gpc() http://www.php.net/manual/pt_BR/info.confi...agic-quotes-gpc Que apreender php entre aqui http://forum.imasters.com.br/index.php?showforum=3 segue um script de login com ajax muito bom e com troca de senha automatica Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Dezembro 1, 2008 Olá grasi! posta o código da sql pra mim ver como que ta vindo este usu_nivel do banco e que não tou muito com coragem de fazer este sql e ja vou adiantando este sistemas não funcionara mais no php6 e todos os sisteamas gerados pelo DW CS3 PRA BAIXO pois nada mudou em relação aos códigos por causa disso aqui abaixo get_magic_quotes_gpc() http://www.php.net/manual/pt_BR/info.confi...agic-quotes-gpc Que apreender php entre aqui http://forum.imasters.com.br/index.php?showforum=3 segue um script de login com ajax muito bom e com troca de senha automatica ue a consulta ao BD está ali no código acima. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Dezembro 1, 2008 :wacko: Exporte da base de dados (MySQL) a tabela usuarios -->> sql tipo este código aqui CREATE TABLE `lista_telefonica` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(80) NOT NULL, `endereco` varchar(255) NOT NULL, `atividade` varchar(255) NOT NULL, `cep` char(9) NOT NULL, `ddd` int(2) NOT NULL, `fone` char(9) NOT NULL, `fone2` char(11) NOT NULL, `fax` char(11) NOT NULL, `cidade` varchar(100) NOT NULL, `uf` varchar(2) NOT NULL, `pchave` text NOT NULL, `data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9; Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Dezembro 3, 2008 :wacko: Exporte da base de dados (MySQL) a tabela usuarios -->> sql tipo este código aqui CREATE TABLE `lista_telefonica` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(80) NOT NULL, `endereco` varchar(255) NOT NULL, `atividade` varchar(255) NOT NULL, `cep` char(9) NOT NULL, `ddd` int(2) NOT NULL, `fone` char(9) NOT NULL, `fone2` char(11) NOT NULL, `fax` char(11) NOT NULL, `cidade` varchar(100) NOT NULL, `uf` varchar(2) NOT NULL, `pchave` text NOT NULL, `data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9; Ah sim! segue abaixo o código solicitado: CREATE TABLE `usuarios` ( `usu_id` int(11) NOT NULL auto_increment, `usu_nome` varchar(100) NOT NULL default '', `usu_email` varchar(64) NOT NULL default '', `usu_nivel` char(13) NOT NULL default '', `usu_senha` varchar(32) NOT NULL default '', `usu_data` date NOT NULL default '0000-00-00', PRIMARY KEY (`usu_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Usuários que acessam a Área Administrativa' ; Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Dezembro 29, 2008 Desculpe não responder antes, é correria de final de ano ... $loginStrGroup = mysql_result($LoginRS,0,'usu_nivel'); //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && false) { //aqui verifico o valor que voce armazenou no banco para a comparação if(isset($_SESSION['MM_UserGroup'] == "condiçao")){ $_SESSION['PrevUrl'] = "index1.php"; }else{ $_SESSION['PrevUrl'] = "index2.php"; } $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?> Aqui sugiro que trate os nives `usu_nivel` char(13) NOT NULL default '', como campo do tipo enum Abraços Compartilhar este post Link para o post Compartilhar em outros sites