Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 450

Problema com Sessions / Cookies

18-08-2017 12:04

Estou com problema com Sessions / Cookies, mesmo configurando o tempo de permanencia dos cookies dentro do php.ini do servidor de 1 em 1 hora o sistema desloga meus usuários.
Perceba que no php.ini eu fiz a configuração dos parametros para 8 horas session.gc_maxlifetime 28800 segundos = 8horas / session.cache_expire 480 minutos = 8horas
mesmo assim de hora em hora ele manda o usuário para fora do sistema para logar novamente.
PHP.ini
file_uploads = On max_execution_time = 600 max_input_time = 600 upload_max_filesize = 400M post_max_size = 400M memory_limit = 256M register_globals = off safe_mode = Off allow_url_include = on allow_url_fopen = on date.timezone = America/Sao_Paulo output_buffering = 4096 display_errors = off output_buffering = on default_charset = "UTF-8" session.gc_maxlifetime = 28800 session.gc_probability = 1 session.gc_divisor = 1000 session.cache_expire = 480 session.entropy_length = 0 session.entropy_file = session.hash_bits_per_character = 5

Arquivo Login.php

<? include "dbconfig.php"; include "antisql.php"; $acao = antiSQL($_GET['acao']); if ($acao == "sair") { $_SESSION[email] = ""; $_SESSION[id] = ""; $_SESSION[nivel] = ""; echo "<script>window.location='index.php?sair=sim';</script>"; } $sql = mysql_query("SELECT * FROM usuarios WHERE email='$_POST[email]' AND senha='$_POST[senha]'"); if (!@mysql_result($sql,0,email)) { echo "<script>window.location='index.php?erro=sim';</script>"; } else { $_SESSION[id] = mysql_result($sql,0,id); $_SESSION[email] = mysql_result($sql,0,email); $_SESSION[nivel] = mysql_result($sql,0,nivel); mysql_query("UPDATE usuarios SET data='".date("d/m/Y")."',hora='".date("H:i")."' WHERE email='$_POST[email]' AND senha='$_POST[senha]'"); echo "<script>window.location='index.php?parabens=sim';</script>"; } mysql_close(); ?>

Tem alguma coisa faltando que está mandando meus usuários para fora do sistema de 1 em 1 hora ? obrigado
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17748
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Problema com Sessions / Cookies

18-08-2017 13:51

Para cookies em PHP tem a definição dentro do setcookie.

<?php $value = 'alguma coisa de algum lugar'; setcookie("CookieTeste", $value); setcookie("CookieTeste", $value, time()+3600); /* expira em 1 hora */ setcookie("CookieTeste", $value, time()+3600, "/~rasmus/", ".example.com", 1); ?>

Fonte: http://php.net/manual/pt_BR/function.setcookie.php

Não se se já tentou esse método.

Já no caso da session tem algumas definições de tempo mostradas no site do php.net http://php.net/manual/en/function.sessi ... params.php

Eu estou testando um modelo de script aqui para ver se a session dura duas horas. Funcionando posto aqui.
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17748
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Problema com Sessions / Cookies

20-08-2017 13:20

Fiz um teste aqui e a session funcionou por mais de uma hora. Segue o script.

Para testar tire o comentário // da linha

//$_SESSION['valor'] = "valor salvo";

Salve o arquivo e atualize o mesmo no navegador uma vez. Após comente a linha novamente e verifique se a session criada não é eliminada.

<?php $Lifetime = 7200; $separator = (strstr(strtoupper(substr(PHP_OS, 0, 3)), "WIN")) ? "\\" : "/"; $DirectoryPath = dirname(__FILE__) . "{$separator}SessionData"; //in Wamp for Windows the result for $DirectoryPath //would be C:\wamp\www\your_site\SessionData is_dir($DirectoryPath) or mkdir($DirectoryPath, 0777); if (ini_get("session.use_trans_sid") == true) { ini_set("url_rewriter.tags", ""); ini_set("session.use_trans_sid", false); } ini_set("session.gc_maxlifetime", $Lifetime); ini_set("session.gc_divisor", "1"); ini_set("session.gc_probability", "1"); ini_set("session.cookie_lifetime", "0"); ini_set("session.save_path", $DirectoryPath); session_start(); //$_SESSION['valor'] = "valor salvo"; if(isset($_SESSION['valor'])) { echo $_SESSION['valor']; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 450

Re: Problema com Sessions / Cookies

07-01-2018 17:53

Não entendi muito bem o exemplo ?
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 450

Re: Problema com Sessions / Cookies

07-01-2018 17:55

Estou fazendo teste novamente aqui.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17748
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Problema com Sessions / Cookies

08-01-2018 19:13

O script que vai usar a session tem que iniciar com o session_start.

<?php session_start(); ..

Já ao nome da SESSION defina assim:

$_SESSION["id"] = mysql_result($sql,0,id); $_SESSION["email"] = mysql_result($sql,0,email); $_SESSION["nivel"] = mysql_result($sql,0,nivel);

Quanto ao problema em si vou deixar uma referência, aqui no meu pc eu uso o servidor Xampp com a configuração padrão.

Também uso session e abro a SESSION de manhã, uso um script para ir armazenando alguns valores. Meu computador hiberna várias vezes, e até chego a fechar a página do navegador.

Quando volto a noite os valores continuam salvos e sendo exibidos na página.
Então posso crer que possa ser alguma validação no script que elimina os valores, ou alguma configuração do navegador.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado