Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

paulofbc

Sessão de Login

Recommended Posts

Olá,tenho aqui um sisteminha de login e senha que baxei da internet, ele é um sistema simples onde tem o nosso parceiro que se cadastra em nosso site e obtem o login e a senha que cadastrou, depois que ele efetua o login com este usuario e senha que ele cadastrou, ele entra numa area restrita onde ficará os arquivos de informação para que ele tenha acesso aos mesmos, até aí tudo bem, o unico problema é quando estou logado no sistema e tento navegar de pagina em pagina dentro da area restrita, o sistema faz um esquema de como ele se deslogasse automaticamente e voltasse para a primeira pagina que é onde voce faz o login, pois não tem como voce navegar na pagina, qualquer link que voce clica depois que voce efetua o login, ele volta tudo como se deslogasse do sistema sem voce querer. Outra coisa tambem que ocorre isso é quando faço o login e clico em pagina qualquer e depois que eu visualizo a pagina e clico no botão voltar do navegador, ele se de desloga automaticamente tambem.Gostaria se caso alguem possa me dar uma mão, seria fazer um esquema deste meu parceiro navegar em todas as paginas restritas após o login e a qualquer momento que quando ele clicasse em logout e ou fechasse a pagina o sistema deslogava, ou caso tambem ele ficasse um certo tempo na pagina restrita sem mexer em nada, ele se deslogava tambem.Alguem pode me dar uma ajuda nisso.fico no aguardo, abraços!Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

dae chará.. seguinte dá uma olhada pra ver ser nas páginas restritas você iniciou a sessão com session_start()se não não consegue pegar as variáveis em sessão a senha e login..

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae, tudo certinho?se iniciam sim...então, eu tenho aqui a minha pagina que se chama protecao.php, é somente esta pagina que esta ligada em todas as outras paginas através de um include. ta aqui o código da pagina protecao.php

<?session_start();function anti_injection($txt){$txt = get_magic_quotes_gpc() == 0 ? addslashes($txt) : $txt;return preg_replace("@(--|\#|\*|;|=)@s", "", $txt); }function verifica_usuario($login, $senha){mysql_connect("localhost", "registro_enq", "enq");mysql_select_db("registro_enq");$re = mysql_query("select count(*) as total from clientes where login = '$login' and senha = '$senha'");$total = mysql_result($re, 0, "total");mysql_close();if($total != 1){ header("Location: login.htm"); exit;} if(!isset($_SESSION["dados"])){ $dados["login"] = $login; $dados["senha"] = $senha; $_SESSION["dados"] = serialize($dados);} } if(isset($_SESSION["dados"])){$dados = unserialize($_SESSION["dados"]);$login = $dados["login"];$senha = $dados["senha"];verifica_usuario($login, $senha);}else{$login = isset($_POST["login"]) ? anti_injection($_POST["login"]) : "";$senha = isset($_POST["senha"]) ? anti_injection($_POST["senha"]) : "";verifica_usuario($login, $senha);}?></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema pode estar na function verifica_usuario($login, $senha)

veja se os dado de acesso ao banco estão corretos, assim:

mysql_connect('localhost', 'mysql_user', 'mysql_password');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Turok, como vai?

 

então, os dados de acesso estão corretos sim, isso porque a unica pagina que tenho de programação é essa que se chama protecao.php, pois não existe um outro arquivo que é chamado através dela para abrir a conexão, pois a mesma só ocorre através dela, protecao.php

 

vou te passar o link do site, onde esta o sistema de login, o usuário é teste e a senha é 123, dê uma olhada e veja como esta.

 

Um outro problema que acabei de ver neste sistema, é quando eu faço o login aqui no meu computador e estou logado no sistema e, depois me logo no sistema tambem, através de uma outra máquina daqui da empresa, ele me desconecta.

 

Fico no aguardo, caso queira tambem, eu posso te passar os arquivos que tenho aqui através de e-mail. São poucos os arquivos, é bem basico mesmo o sistema, quero apenas algo para que o meu parceiro se cadastre e possa navegar em seu conteudo conforme ele estiver logado.

 

um abraço!

 

Paulo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tarok, caso queira, me adicione no msn, registranet@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá turok,

 

ta aqui o link com o sistema zipado...

 

um abraço!

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

obs: lembre-se que depende da versao do php que você usa, quando você usa o serialize ele ja passa o addslashes() automaticamente.

addslashes -- Adiciona barras invertidas a uma string

dai para você usar o unserialise você precisa usar stripslashes -- Desfaz o efeito de addslashes()

 

assim você consegue resgatar o valor da session, pode ser por isso que sempre você volta para a pagina de login, porque você precisa tirar as barras invertidas

 

faça assim:

 

session_start();

if (get_magic_quotes_gpc())

{

$dados = unserialize(stripslashes($_SESSION["nome_da_session"]));

}

else

{

$dados = unserialize($_SESSION["nome_da_session"]);

}

 

outra coisa em vez de você usar

 

if(!isset($_SESSION["dados"]))

{

}

 

if(isset($_SESSION["dados"]))

{

}

 

você pode usar assim:

 

if(!isset($_SESSION["dados"]))

{

}

else

{

}

nao ta errado do jeito que você fez mas else seria mais indicado ali

qualquer duvida posta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá fabyo,

 

tentei fazer aqui um teste com estes códigos que voce me passou, mas não consegui.

 

Não estou querendo aproveitar de sua boa vontade, mas não tem como voce me dar um auxilio de como eu adaptar este código certo no meu, é que não tenho conhecimento ainda na area de php, sou muito leigo.

 

um abraço!

 

Paulo

 

Link do site para navegação no sistema

 

login: teste

senha: 123

 

a area da minha pagina onde tem a caixa de login e senha, é feita através de um iframe que esta dentro desta pagina, pois esta pagina chama dentro do iframe o login/index.php

 

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa eu testei seu exemplo aqui na minha maquina e só configurei um banco pra ele e funcionou normal

 

mas o seu sistema ta bem simples ,vou criar um exemplo e posto no laboratio dai você ve se gostar você usa e ja aprende tbm

Compartilhar este post


Link para o post
Compartilhar em outros sites

modifiquei o teu script um pouquinho, você não precisa ficar conectando no banco toda hora pra ver o login da pessoa. Conecta um vez e se encontrar os dados no banco salva em sessão dai só verifica a sessão da uma olhada ai:

 

http://sis_login.zip

 

falowww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Turok,fiz o que voce me passou, utilize o seu código na minha página e não adiantou, pois ele ficou do mesmo jeito. O que devo fazer?abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Turok, como assim configuração? voce diz dentro do meu código protecao.php? o código que eu deveria incluir no meu código sera esse? session.save_path = /TEMP

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Turok, como assim configuração? voce diz dentro do meu código protecao.php? abraços!

pode ser algum parametro da configuração do php. Para você ver os parametros você pode usar isto:
<? echo php_info();?>
para saber mais: http://www.php.net/manual/pt_BR/configuration.php

o código que eu deveria incluir no meu código sera esse? session.save_path = /TEMP

bom se o nome da pasta e o caminho estiver errado vai dar erro na sessão tb... então você precisa verificar o nome e o caminho da pasta que está quardando os arquivos temporários da sessão e modificar no arquivo de configuração do php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Paulo, é complicado pra mim, pois não entendo de php... tipo, não quero aproveitar de sua boa vontade, pois até o momento voce me deu uma grande ajuda, e eu fico muito agradecio, mas preciso disso de uma maneira menos complicado, tipo, se eu te passar o código das minhas paginas, voce não insere essa configuração pra mim?um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.