Vinny789 Postado Dezembro 1, 2010 Denunciar Share Postado Dezembro 1, 2010 Paz galera, blza?To necessitando de uma coisinha, espero poder contar com ajuda de vocês... to perdendo os neuronios por isso já rsTenho um sistema de cadastro de usuários, com base em um de login, para usuários de loja de catalogo.E seguinte, estou realizando o login e senha, ok, funcionando perfeitamente, só queria que no login e senha ele carregassepor session o nivel do usuário "no caso 0,1 ou 2" o que atualmente fiz e não deu certo.O que atualmente vejo é que ele carrega somente na session o email e a senha, no caso,já fiz em post e tudo mais e nada deu certo, como resgato ele do banco de dados e coloco na session?Vou postar para vocês verem o codigo original, qual não fiz nenhuma alteração.LOGIN.PHP<?php $erro = ""; if(getenv("REQUEST_METHOD") == "POST") { $email = $_POST["Email"]; $senha = $_POST["Senha"]; if ( get_magic_quotes_gpc() ) { $email = stripslashes($_POST["Email"]); $senha = stripslashes($_POST["Senha"]); } $email = mysql_escape_string($email); $senha = mysql_escape_string($senha); $chave = md5( md5(strtolower(trim($email))) . md5(strtolower(trim($senha))) ); $senha = md5($senha); //coloque seus dados de conexao mysql_connect("localhost", "newcampi_user", "2010"); mysql_select_db("newcampi_banco"); $sql = "SELECT COUNT(*) AS total FROM tabela_usuarios WHERE email = '%s' AND senha = '%s' and chave = '$chave' and nivel_acesso > 0"; $re = mysql_query(sprintf($sql, $email, $senha)); $total = mysql_result($re, 0, "total"); mysql_close(); if($total == 1) { $dados = array(); $dados["email"] = ucfirst(strtolower($email)); $dados["logado"] = true; session_start(); $_SESSION["dados"] = $dados; header("Location: index.php?id=principal"); } else { $erro = "Usuario ou senha invalido"; $erro .= "<script type=\"text/javascript\">document.getElementById(\"erro\").className = 'visivel';</script>"; } } ?> <html> <head> <title>LOGIN</title> </head> <body bgcolor="#E6E6E6" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <form id="formulario" name="formulario" action="index.php?id=login" method="post" > <table align="center" border="0" cellpadding="0" cellspacing="0" width="280"> <tr> <td width="70" height="35"> <p style="margin-right:10; margin-left:10;"><font face="Verdana" color="#003399"><span style="font-size:9pt;"><b>Email:</b></span></font></p> </td> <td width="180" height="35"> <p align="left"><input type="text" name="Email" class="todoform" size="25"></p> </td> </tr> <tr> <td width="70" height="35"> <p style="margin-right:10; margin-left:10;"><font face="Verdana" color="#003399"><span style="font-size:9pt;"><b>Senha:</b></span></font></p> </td> <td width="180" height="35"> <p align="left"><input type="password" name="Senha" class="todoform" size="20"></p> </td> </tr> </table> </body> </html> PRINCIPAL.PHP <?php include "protecao.php"; $dados = $_SESSION["dados"]; $emailverifica = $dados['email']; ?> <? echo "<h3>Bem-Vindo, $emailverifica</h3>"; // AQUI ELE MOSTRA O EMAIL VERIFICADOR ?> PROTEÇÃO.PHP <?php session_start(); if(!isset($_SESSION["dados"])) { header("Location: index.php?id=login"); } ?>Desde já agradeço a todos. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dinho19sp Postado Dezembro 2, 2010 Denunciar Share Postado Dezembro 2, 2010 Paz galera, blza?To necessitando de uma coisinha, espero poder contar com ajuda de vocês... to perdendo os neuronios por isso já rsTenho um sistema de cadastro de usuários, com base em um de login, para usuários de loja de catalogo.E seguinte, estou realizando o login e senha, ok, funcionando perfeitamente, só queria que no login e senha ele carregassepor session o nivel do usuário "no caso 0,1 ou 2" o que atualmente fiz e não deu certo.O que atualmente vejo é que ele carrega somente na session o email e a senha, no caso,já fiz em post e tudo mais e nada deu certo, como resgato ele do banco de dados e coloco na session?Vou postar para vocês verem o codigo original, qual não fiz nenhuma alteração.LOGIN.PHP<?php $erro = ""; if(getenv("REQUEST_METHOD") == "POST") { $email = $_POST["Email"]; $senha = $_POST["Senha"]; if ( get_magic_quotes_gpc() ) { $email = stripslashes($_POST["Email"]); $senha = stripslashes($_POST["Senha"]); } $email = mysql_escape_string($email); $senha = mysql_escape_string($senha); $chave = md5( md5(strtolower(trim($email))) . md5(strtolower(trim($senha))) ); $senha = md5($senha); //coloque seus dados de conexao mysql_connect("localhost", "newcampi_user", "2010"); mysql_select_db("newcampi_banco"); $sql = "SELECT COUNT(*) AS total FROM tabela_usuarios WHERE email = '%s' AND senha = '%s' and chave = '$chave' and nivel_acesso > 0"; $re = mysql_query(sprintf($sql, $email, $senha)); $total = mysql_result($re, 0, "total"); mysql_close(); if($total == 1) { $dados = array(); $dados["email"] = ucfirst(strtolower($email)); $dados["logado"] = true; session_start(); $_SESSION["dados"] = $dados; header("Location: index.php?id=principal"); } else { $erro = "Usuario ou senha invalido"; $erro .= "<script type=\"text/javascript\">document.getElementById(\"erro\").className = 'visivel';</script>"; } } ?> <html> <head> <title>LOGIN</title> </head> <body bgcolor="#E6E6E6" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <form id="formulario" name="formulario" action="index.php?id=login" method="post" > <table align="center" border="0" cellpadding="0" cellspacing="0" width="280"> <tr> <td width="70" height="35"> <p style="margin-right:10; margin-left:10;"><font face="Verdana" color="#003399"><span style="font-size:9pt;"><b>Email:</b></span></font></p> </td> <td width="180" height="35"> <p align="left"><input type="text" name="Email" class="todoform" size="25"></p> </td> </tr> <tr> <td width="70" height="35"> <p style="margin-right:10; margin-left:10;"><font face="Verdana" color="#003399"><span style="font-size:9pt;"><b>Senha:</b></span></font></p> </td> <td width="180" height="35"> <p align="left"><input type="password" name="Senha" class="todoform" size="20"></p> </td> </tr> </table> </body> </html> PRINCIPAL.PHP <?php include "protecao.php"; $dados = $_SESSION["dados"]; $emailverifica = $dados['email']; ?> <? echo "<h3>Bem-Vindo, $emailverifica</h3>"; // AQUI ELE MOSTRA O EMAIL VERIFICADOR ?> PROTEÇÃO.PHP <?php session_start(); if(!isset($_SESSION["dados"])) { header("Location: index.php?id=login"); } ?> Desde já agradeço a todos. Na verdade não sou muito fã de colocar senha do usuario na sessão não, fica muito vulneravél... vou postar como eu fiz o meu : ok // DATABASE é uma contante; // TABELAUSUARIO é uma constante; $sql= "SELECT * FROM ".DATABASE."".TABELAUSUARIO." where 1 AND txtLogin = '".$_POST['txtLogin']."' AND txtSenha = md5('".$_POST['txtSenha']."')"; $qry = mysql_query($sql,$conn); $retorno = mysql_fetch_object($qry); if($retorno){ $_SESSION['txtLogin'] = $retorno->txtLogin; /// caso tivesse nivel colocaria abaixo: $_SSSION['nivel'] = $retorno->nivel; /// restante do codigo aki } Como já disse não coloco senha em sessao; ai você faz a verificação por $_SESSION['txtLogin'] e $_SESSION['nivel']; É isso ai espero ter ajudado; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Vinny789
Paz galera, blza?
To necessitando de uma coisinha, espero poder contar com ajuda de vocês... to perdendo os neuronios por isso já rs
Tenho um sistema de cadastro de usuários, com base em um de login, para usuários de loja de catalogo.
E seguinte, estou realizando o login e senha, ok, funcionando perfeitamente, só queria que no login e senha ele carregasse
por session o nivel do usuário "no caso 0,1 ou 2" o que atualmente fiz e não deu certo.
O que atualmente vejo é que ele carrega somente na session o email e a senha, no caso,
já fiz em post e tudo mais e nada deu certo, como resgato ele do banco de dados e coloco na session?
Vou postar para vocês verem o codigo original, qual não fiz nenhuma alteração.
LOGIN.PHP
PRINCIPAL.PHP PROTEÇÃO.PHPDesde já agradeço a todos.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.