lsteffler 0 Denunciar post Postado Abril 22, 2008 Boa tarde! Bem... trata-se de um sistema de login com cookies... e tenho este script que devo colocar napáginas que necessitam de autenticação, porém, eu só consigo fazê-lo funcionar se eu passar todo o conteudo do meu site para aspas simples... Vejam o código: <? //pagina com o seu conteudo include "permissao.php"; //inclui o arquivo que verifica se o membro está ou nao logado if ($permissao == 'nao' ){ //se nao tem permissao para acessar a pagina echo "É preciso estar logado para poder acessar essa página!"; echo "<br><a href='login.php'>Logar-se</a> | <a href='registrar.php'>Registrar-se</a>"; } else { //se tiver permissao para acessar a pagina echo " <br />todo o seu conteudo ficara dentro desse if.."; } ?> Entao, é isso mesmo? devo passar todo o conteudo da página para aspas simples, ou tem outra maneira? Muito Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Abril 22, 2008 O problema são as aspas? Veja: <?php $permissao = 'nao'; // seta o valor inicial como nao, por seguranca //pgaina com o seu conteudo include 'permissao.php'; //inclui o arquivo que verifica se o membro está ou nao logado if ($permissao == 'nao' ){ //se nao tem permissao para acessar a pagina echo 'É preciso estar logado para poder acessar essa página!'; echo '<br><a href=\'login.php\'>Logar-se</a> | <a href=\'registrar.php\'>Registrar-se</a>'; } else { //se tiver permissao para acessar a pagina echo '<br />Todo o seu conteudo ficará dentro desse if..'; // não seria... ficará dentro desse else????? } ?> Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 23, 2008 hum... mas continuo com problemas quanto a aspas.... pq o conteudo das paginas alem de links tem muitos scripts php, e aí começa a confusão.... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Abril 23, 2008 Por que não faz assim? <?php if (!$permissao) { echo "Permissão negada!"; exit; } ?> conteúdo aqui, sem aspas. HTML puro Se a permissão for negada, o comando exit; impede que o conteúdo após ele seja interpretado. Ou seja, a execução é encerrada. Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 23, 2008 Beraldo. Mas deste modo ele dá permissão negada mesmo estando logado. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Abril 23, 2008 Você deve estar errando na validação. Talvez a sessão ou o cookie (dependendo de como você está fazendo) não está sendo criada(o) corretamente. Poste o script de validação que você editou. Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 23, 2008 Beraldo. Mas deste modo ele dá permissão negada mesmo estando logado. Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 23, 2008 permissao.php <? //pagina para verificar se o cookie está ou nao gravado if(!isset( $_COOKIE["login"]) ){ //verifica se há cookei gravado $permissao = 'nao'; //se nao tiver a permissao sera negada } else { $login = $_COOKIE["login"]; //pega o nome gravado no cookie echo "<p align='center'>Voce está logado! | <a href='logout.php'>Sair</a></p>"; $permissao = 'sim'; } ?> Login.php <? //pagina para fazer o login if(getenv("REQUEST_METHOD") == "POST") { //verfica se o formulario foi enviado require "config.php"; //inclui o arquivo para conexao com o banco //pega os dados digitados pelo usuario $login = $_POST['login']; $senha = $_POST['senha']; $query = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'"); //verifica se o login e a senha conferem $resultado = mysql_num_rows($query); //traz o resultado da pesquisa acima if ( $resultado == 1 ) { //se existir os dados digitados irá gravar o cookie setcookie ("login", $login); setcookie ("senha", $senha); header ("Location: index.php"); } else { echo "Login ou senha inválidos. <a href=java script:history.go(-1)>Clique aqui para voltar.</a>"; //se a senha está incorreta mostra essa mensagem } } else{ // se o formulario nao foi enviado aparece o conteudo abaixo ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" media="screen" href="style.css" /> </head> <body> <div id="caixa"> <div id="content"> <h2>Acesso ao Painel de Controle</h2> <form name="login" method="post" > <table align="center"> <tr> <td>Login:</td> <td><input name="login" type="text" id="login"></td> </tr> <tr> <td> Senha: </td> <td><input name="senha" type="password" id="senha"></td> </tr> <tr> <td><div align="center"><input name="entrar" type="submit" id="entrar" value= "Entrar"></div></td> </tr> </table> </form> <br /> <a href="../index.php">Voltar ao Site</a> </div> </div> <div id="web"> By Luciano L. Steffler - Copyright© 2008 - <?php $ano = date ("Y", time()); echo $ano; ?>.<br /> Todos os direitos reservados. </div> </body> </html> <? } ?> Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 23, 2008 RESOLVIDO! Da seguiunte forma a quem interessar: <?php //pagina com o seu conteudo include "permissao.php"; //inclui o arquivo que verifica se o membro está ou nao logado if ($permissao == 'nao' ){ //se nao tem permissao para acessar a pagina echo "É preciso estar logado para poder acessar essa página!"; echo "<br><a href='login.php'>Logar-se</a> | <a href='registrar.php'>Registrar-se</a>"; } else { //se tiver permissao para acessar a pagina ?> <br />todo o seu conteudo ficara dentro desse else em html mesmo <?php } ?> Obrigado a Todos pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites