Rob_Bor 0 Denunciar post Postado Janeiro 6, 2011 Boa tarde pessoal do fórum. Estou com outra dúvida, mais creio que seja simples. Seguinte, Fiz uma página de login para entrar no sistema que estou desenvolvendo, deu certo. Se o usuario e senha nao coincidirem ele da erro, se tiver correto ele entra na página do sistema. o código que eu usei foi esse: if ($_POST['entrar_administrador']){ if($_SERVER['REQUEST_METHOD']=='POST'){ $administrador = $_POST['administrador']; $senha_administrador = $_POST['senha_administrador']; $dados_administrador = $query->selecionar('tb_cad_administrador', array(), "usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'"); if(count($dados_administrador)){ session_start(); $_SESSION['logado'] = true; header("location: home.php"); } else { echo "Usuário e senha estão incorretos."; } } } Bom, eu fiz isso pesquisando em outros tutoriais. tenho 3 dúvidas para ser sanadas. a primeira, qual a função do $_SERVER['REQUEST_METHOD']=='POST' ? Segunda, se eu entrar direto em outra página, ele entra normalmente, gostaria de saber, o que devo colocar em cada página para fazer uma verificação se o usuário esta logado, se nao, ele volta pra página principal. a terceira dúvida, é que mais pra frente vou ter que fazer umas permissões, e gostaria de saber QUAL usuário está logado no sistema, para saber se ele tem permissão em algum registro que eu determinar.. podem me ajudar ?? Valew galera, boa tarde... Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
gugoan 0 Denunciar post Postado Janeiro 6, 2011 1ª duvida: O $_SERVER[ 'REQUEST_METHOD' ] é uma variavel global do servidor, e acho retorna o tipo de requisição (GET, POST...), nao tenho certeza... 2ª duvida: você precisa armazenar o "usuario logado" com SESSIO ou COOKIE por exemplo 3ª duvida: não ficou muito claro o que você ker fazer... :( Compartilhar este post Link para o post Compartilhar em outros sites
Rob_Bor 0 Denunciar post Postado Janeiro 6, 2011 Boa tarde gugoan, 2º Dúvida, como faria isso? armazenando usuario logado com session ou cookie ? e 3º dúvida, é permissões, tipo, se foi o usuario X que fez algum cadastro, ele poderá LER, e EDITAR o conteudo que ele cadastrou, o usuário Y só pode ler o que o usuário X cadastrou, e nao editar? deu pra entender? Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
gugoan 0 Denunciar post Postado Janeiro 6, 2011 2ª duvida: Bom para fazer isso, te recomendo as seguintes leituras: http://php.net/manual/en/book.session.php http://www.revistaphp.com.br/artigo.php?id=8 3ª duvida: você pode criar no banco de dados um campo que seria o tipo de permissão do usuário, e fazer a verificação de acordo com o valor do campo. Compartilhar este post Link para o post Compartilhar em outros sites
Rob_Bor 0 Denunciar post Postado Janeiro 6, 2011 Sobre a Terceira dúvida, já tinha pensado nisso, vou fazer, qualquer coisa pergunto aqui denovo.. e sobre a leitura, vou ler cara.. valew.. :D Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 6, 2011 Sobre a Terceira dúvida, já tinha pensado nisso, vou fazer, qualquer coisa pergunto aqui denovo.. e sobre a leitura, vou ler cara.. valew.. :D Bom nesta 3 duvida você vai ter que trabalhar com nivel tipo se nivel de acesso for 1 vai exibir tal coisa se for 0 vai exibir tal coisa na segunda duvida te aconselho a criar um script separado chamado tipo protect.php neste arquivo fazer a proteção pra ver se ta logado vou colocar um exemplo simples aki <?php if(!isset($_SESSION['login']) and !isset($_SESSION['senha'])){ //os nomes da sessao no caso to mostrando se for login e senha echo "<script>location.href='index.php'</script>"; //aki o cara vai pra index.php se nao tiver logado } ?> depois que você criar o protect.php só usar o include nas paginas que tem que ter proteção entendeu tipo include("protect.php"); Compartilhar este post Link para o post Compartilhar em outros sites
Rob_Bor 0 Denunciar post Postado Janeiro 6, 2011 Cry, obrigado pelo comentário. e sobre o protect, eu entendi. valew, agora na session, como pode ver eu tenho essa aqui na página de login: if($_SERVER['REQUEST_METHOD']=='POST'){ $administrador = $_POST['administrador']; $senha_administrador = $_POST['senha_administrador']; $dados_administrador = $query->selecionar('tb_cad_administrador', array(), "usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'"); if(count($dados_administrador)){ session_start(); $_SESSION['logado'] = true; header("location: home.php"); } else { echo "Usuário e senha estão incorretos."; } } de acordo com as sessions que voce montou de exemplo, como ficaria para verificar se o usuário já esta logado ou nao? só para eu entender melhor, que ainda estou com dúvidas.. valeww... Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 6, 2011 faz o seguinte o problema é que você nao criou a sessao olha tem que criar elas primeiro if($_SERVER['REQUEST_METHOD']=='POST'){ session_start(); //primeiro tenho que começar elas $administrador = $_POST['administrador']; $senha_administrador = $_POST['senha_administrador']; //vamos criar aki $_SESSION['login'] = $administrador; //criei a sessao login $_SESSION['senha'] = $senha_administrador; //criei a sessao senha $dados_administrador = $query->selecionar('tb_cad_administrador', array(), "usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'"); if(count($dados_administrador)){ session_start(); $_SESSION['logado'] = true; header("location: home.php"); } else { echo "Usuário e senha estão incorretos."; } } agora vai poder ser chamado pelo protect tenta ai... Compartilhar este post Link para o post Compartilhar em outros sites
Rob_Bor 0 Denunciar post Postado Janeiro 6, 2011 Criei o arquivo protect, com esse conteudo que me passou: if(!isset($_SESSION['login']) and !isset($_SESSION['senha'])){ //os nomes da sessao no caso to mostrando se for login e senha echo "<script>location.href='index.php'</script>"; //aki o cara vai pra index.php se nao tiver logado } a alterei o arquivo de login. Mas ele sempre está retornando para o index.php mesmo sendo digitado usuario e senha. era isso mesmo pra fazer? se ao for, desculpe, nunca trabalhei com session... Valeww.. Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 6, 2011 Criei o arquivo protect, com esse conteudo que me passou: if(!isset($_SESSION['login']) and !isset($_SESSION['senha'])){ //os nomes da sessao no caso to mostrando se for login e senha echo "<script>location.href='index.php'</script>"; //aki o cara vai pra index.php se nao tiver logado } a alterei o arquivo de login. Mas ele sempre está retornando para o index.php mesmo sendo digitado usuario e senha. era isso mesmo pra fazer? se ao for, desculpe, nunca trabalhei com session... Valeww.. ele tem que retornar se o cara tentar entrar em uma pagina fechada e nao logou ai sim tem que retornar] Compartilhar este post Link para o post Compartilhar em outros sites
Rob_Bor 0 Denunciar post Postado Janeiro 6, 2011 Acontece que ele ta retornando mesmo se o cara logar normalmente.. alguma sugestão? Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 6, 2011 da uma olhada nesse topico que criei aki no forum é um sistema de login e senha com session ai você vai estudar por ele e vai entender melhor como funciona as sessoes http://forum.imasters.com.br/index.php?/topic/419668-sistema-de-login-e-senha-simples-com-session/ Compartilhar este post Link para o post Compartilhar em outros sites
Rob_Bor 0 Denunciar post Postado Janeiro 6, 2011 Cara, valew pelo tuto, mais segui corretamente e continua dando o mesmo problema. olha, na minha página de login está assim: if ($_POST['entrar_administrador']){ if($_SERVER['REQUEST_METHOD']=='POST'){ $administrador = str_replace("'","", $_POST['administrador']); $senha_administrador = str_replace("'","",$_POST['senha_administrador']); $_SESSION['administrador'] = $administrador; $_SESSION['senha_administrador'] = $senha_administrador; $sql = mysql_query("select * from tb_cad_administrador where usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'"); if(mysql_num_rows($sql) == 0){ echo "nao foi encontrado registro"; }else{ echo "<script>location.href='cad_usuario.php'</script>"; } } } Ai na página que cad_usuario.php onde é direcionado ta assim: {php} include("./protect.php"); {/php} {include file="1_cabecalho_administrador.tpl"} {include file="c_usuario.tpl"} {include file="3_rodape.tpl"} e no protect.php está assim: <?php if(!isset($_SESSION['administrador']) and !isset($_SESSION['senha_administrador'])){ echo "<script>location.href='index.php'</script>"; } ?> e ele continua me mandando SEMPRE pra página de login, o que devo fazer? Valeww Ninguem pra me ajudar? :D Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 7, 2011 desculpa a demora é por que eu tinha saido {php} include("./protect.php"); {/php} {include file="1_cabecalho_administrador.tpl"} <<-- ta parecendo ASP {include file="c_usuario.tpl"} <<-- ta parecendo ASP {include file="3_rodape.tpl"} <<-- ta parecendo ASP mais pelo que eu conheco é <!--# include file="arquivo.asp" --> olha esse código ta estranho faz assim <?php include("../protect.php"); include ("1_cabecalho_administrador.tpl"); include ("c_usuario.tpl"); include ("3_rodape.tpl"); ?> me mostra a parte do seu formulario pra mim saber como esta Compartilhar este post Link para o post Compartilhar em outros sites
Rob_Bor 0 Denunciar post Postado Janeiro 7, 2011 Cry, fica tranquilo sem problemas. mais sobre os includes que você falou, é realizado em smarty, dentro de um arquivo .tpl mais eu já consegui aqui por outro tutorial, mas mesmo assim obrigado. Descobri o erro, e o tutorial que você me passou da certo. pra galera ai que tem a mesma duvida, pode seguir o tutorial que o cry passou a cima. Valew pessoal..!! Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 7, 2011 Cry, fica tranquilo sem problemas. mais sobre os includes que você falou, é realizado em smarty, dentro de um arquivo .tpl mais eu já consegui aqui por outro tutorial, mas mesmo assim obrigado. Descobri o erro, e o tutorial que você me passou da certo. pra galera ai que tem a mesma duvida, pode seguir o tutorial que o cry passou a cima. Valew pessoal..!! TOpico fechado estamos sempre dispostos a ajudar Compartilhar este post Link para o post Compartilhar em outros sites