Beto Lima 0 Denunciar post Postado Maio 2, 2008 To com uma dificuldade de fazer o seguinte: A minha index.php está mostrando vários conteudos buscando do banco. blza Na index tenho um include para login bem no canto direito chamado: topo.php O que eu quero? Quero que ao entrar na index.php que continue da mesma forma que está hoje mostrando os meus conteúdos buscados no banco, e quando o usuário fazer o login, quero que logue e volte pra mesma index só que mostrando conteúdos protegidos reservados para quem estiver logado.... quem não está logado não ve tudo e quem estiver logado ve tudo... É isso.... Já procurei por vários tipos de acesso com login e senha mas todos são da mesma forma onde: Se o cara não logou ele redireciona pra uma página e se logou corretamente dae vai pra pagina certa.... O que eu quero é ficar sempre na index....mostrando conteúdo total ou parcial... Conseguiram entender? Agradeço pela ajuda.... Compartilhar este post Link para o post Compartilhar em outros sites
Elfrancio Granjense 0 Denunciar post Postado Maio 4, 2008 Para ficar fácil crie uma váriavel no cookie do navegador ou na Sessão do site. Compartilhar este post Link para o post Compartilhar em outros sites
LeonardoAP 0 Denunciar post Postado Maio 4, 2008 quando voce fizer a verificacao para o login, sete uma $_SESSION['userID'] (tendo previamente iniciado uma seção, com session_start() ) e na pagina index, fazer um if para saber essa variavel existe. Compartilhar este post Link para o post Compartilhar em outros sites
Jose Ornelas 0 Denunciar post Postado Maio 4, 2008 SESSION é melhor pois enquanto o navegador estiver aberto ela esta tambem e é mais simples que cookie.... Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Maio 4, 2008 alguém tem um exemplo de como faze-lo? Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Maio 4, 2008 if($loguin!='' && $senha!=''){ session_start(); $_SESSION['loguin']=loguin; $_SESSION['senha']=$senha; } pra resgatar em outra página você faz session_start(); $loguin=$_SESSION['loguin']; .......... e por ai vai , mas o melhor e ais seguro é utilizar autenticação http veja no manual php para saber mais Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Maio 4, 2008 if($loguin!='' && $senha!=''){ session_start(); $_SESSION['loguin']=loguin; $_SESSION['senha']=$senha; } coloco na index? ou onde se encontra o form? session_start(); $loguin=$_SESSION['loguin']; coloco onde quero proteger algum conteúdo? Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Maio 4, 2008 bem... suas perguntas são primárias.... analise o que postei... está bem claro mas, o segundo bloco é para você pegar a variável que foi setada, ou verificar se ela existe BONS ESTUDOS>>>>! Compartilhar este post Link para o post Compartilhar em outros sites
LeonardoAP 0 Denunciar post Postado Maio 5, 2008 Testando para ver se a variavel de sessão existe, voce sabe se pode ou não exibir o conteúdo protegido <?php session_start(); if(isset($_REQUEST['logar'])){ // Aqui entra um trecho de código para verificar que o usuario e a senha estão corretas // Se estiverem corretas... $_SESSION['userID'] = $idDoUsuário; } ?> <?php if($_SESSION['userID']){ ?> <b>conteúdo protegido</b> <?php }; ?> <b>conteúdo público</b> <form action="?logar" method="post"> <input type="text" name="usuario" /> <input type="password" name="senha" /> <input type="submit" value="enviar" /> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Maio 7, 2008 certo, após muitas dores de cabeça enfim funcionou... Agora na hora do logout ele não ta imprimindo o "Olá VISITANTE" e sim o nome do usuário ainda... essa parte do código é onde mostra olá usuário....como em muitos sites... <?php $secao = $_SESSION['login_as']; if($_SESSION['login_as'] == "") { echo "Olá Visitante"; }else { echo "Olá $secao | <a href=\"sistema/sair.php?doLogout=true&verifica=true\">Sair</a>"; } ?> e a parte abaixo refere-se ao arquivo sair.php <?php //initialize the session if (!isset($_SESSION)) { session_start(); } // ** Logout the current user. ** $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['user'] = NULL; $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_SESSION['user']); unset($_SESSION['MM_Username']); unset($_SESSION['MM_UserGroup']); unset($_SESSION['PrevUrl']); if ($_REQUEST["verifica"] == "true"){ $logoutuser = "../index.php"; if ($logoutuser) { header("Location: $logoutuser"); exit; } }else{ $logoutGoTo = "login/login.php"; if ($logoutGoTo) { header("Location: $logoutGoTo"); exit; } } } ?> <?php if (!isset($_SESSION)) { session_start(); } $MM_authorizedUsers = ""; $MM_donotCheckaccess = "true"; // *** Restrict Access To Page: Grant or deny access to this page function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { // For security, start by assuming the visitor is NOT authorized. $isValid = False; // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. // Therefore, we know that a user is NOT logged in if that Session variable is blank. if (!empty($UserName)) { // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. // Parse the strings into arrays. $arrUsers = Explode(",", $strUsers); $arrGroups = Explode(",", $strGroups); if (in_array($UserName, $arrUsers)) { $isValid = true; } // Or, you may restrict access to only certain users based on their username. if (in_array($UserGroup, $arrGroups)) { $isValid = true; } if (($strUsers == "") && true) { $isValid = true; } } return $isValid; } $MM_restrictGoTo = "login/erro.php"; if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { $MM_qsChar = "?"; $MM_referrer = $_SERVER['PHP_SELF']; if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&"; if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) $MM_referrer .= "?" . $QUERY_STRING; $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer); header("Location: ". $MM_restrictGoTo); exit; } ?> Alguém sabe onde está dando errado? valeu Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rodriguez 0 Denunciar post Postado Maio 7, 2008 Aproveitando a duvida do amigo, queria saber o seguinte, eu tenho como colocar mais de um usuario para a permissao de visualização ? segue abaixo o codigo que estou utilizando... CODE <?php if($_SESSION['MM_Username'] == "manolo"){ ?> Queria saber se posso colocar tipo assim "manolo,diego,adriana" tentei fazer isso mas nao deu certo, se alguem souber como solucionar sera muito grata a ajuda... Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Renan 2 Denunciar post Postado Maio 7, 2008 <?php if($_SESSION['MM_Username'] == "manolo" || $_SESSION['MM_Username'] == "diego" || $_SESSION['MM_Username'] == "adriana"){ ?> acho q assim funfa Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rodriguez 0 Denunciar post Postado Maio 7, 2008 cara, te amo ! UahUHAuHAUhUHAuhAUH funcionou perfeitamente... muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 7, 2008 session_start(); if($_SESSION['MM_Username'] == "manolo" or $_SESSION['MM_Username'] == "diego" or $_SESSION['MM_Username'] == "maryana"){ entendeu ? mais isso não faz sentido cara... Não tinha visto que o colega postou assim. [Resolvido] então. Beto Lima O método correto para esta verificação seria o seguinte: <?php $secao = $_SESSION['login_as']; if(!isset($_SESSION['login_as'])) { echo "Olá Visitante"; }else { echo "Olá $secao | <a href=\"sistema/sair.php?doLogout=true&verifica=true\">Sair</a>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Maio 7, 2008 <?php $secao = $_SESSION['login_as']; if(!isset($_SESSION['login_as'])) { echo "Olá Visitante"; }else { echo "Olá $secao | <a href=\"sistema/sair.php?doLogout=true&verifica=true\">Sair</a>"; } ?> não deu certo, continua a mesma coisa.... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 8, 2008 Pra que essa complicação toda pra sair de um sistema ? posso elaborar um simples ? Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Maio 8, 2008 claro, manda vê Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 8, 2008 certo, sua URL ficaria assim: Eu não estou vendo no seu sistema de sair, a destruição de nenhuma sessão com o nome de "login_as" então eu troquei na verificação de login_as para user, se mesmo assim não der certo, você acrescenta em sair.php isso: unset($_SESSION['login_as']); <?php if(!isset($_SESSION['user'])) { echo "Olá Visitante"; }else { echo "Olá". $_SESSION['user'] ." | <a href='sistema/sair.php?doLogout=sair'>Sair</a>"; } ?> sair.php <?php if(isset($_GET['doLogout'])){ if($_GET['doLogout']=='sair'){ session_start(); $_SESSION=array(); session_destroy(); $_SESSION['user'] = NULL; $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_SESSION['user']); unset($_SESSION['MM_Username']); unset($_SESSION['MM_UserGroup']); unset($_SESSION['PrevUrl']); header('Location: ../index.php'); }else{echo 'Erro ao sair do sistema';} }else{ echo 'Erro ao sair do sistema.'; } ?>Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Maio 8, 2008 valeu, deu certo apenas colocando: unset($_SESSION['login_as']); na página sair.php Obrigado Mesmo..... Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Maio 8, 2008 beleza, agora ele imprime certo o nome do usuário e desaparece na hora de sair...ótimo.. Queria saber como imprimir o Nome da pessoa ao invés do nome do usuário??? coloquei mais uma coluna na minha tabela pra colocar o nome da pessoa, além de user e senha... CREATE TABLE `login` ( `id` int(5) NOT NULL auto_increment, `login` varchar(8) NOT NULL, `senha` varchar(8) NOT NULL, `status` varchar(15) NOT NULL, `Nome` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; Compartilhar este post Link para o post Compartilhar em outros sites