Ir para conteúdo

POWERED BY:

Arquivado

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

nirsu

Pegar hora e jogar no banco

Recommended Posts

Galera seguinte, ao fazer o login, estou guardando os dados numa session. Os dados sao: login, senha, hora. Preciso da hora pois que implementar um tempo de inatividade no site, durente um tempo sem navegar irá desconectar.Por isso guarda a hora da session e a cada visita em uma pagina verifico a hora atual com a que foi guardada.Como faço para pegar a hora guardada na session e salvar no banco (MYSQl)Eu tentei usando:setlocale(LC_TIME, "br_BR");$timeconnect = strftime("%H%M%S");Ele guarda certinho a hora, mais quando do o insert no banco não grava nada. Como faço ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo, eu faço isso da maneira mais tradicional possível...crio um campo no mysql com q quantidade de caracteres que vow utilizar20:40 (se vow gravar isso uso apenas 5 caracteres)e existe tbm uma a opção de você criar um campo proprio (existem os campos DATE, DATETIME e TIME) aposto que você irá querer usar o DATETIME neh?bom..feito issobasta usar o tradicional comando de inserir os dados no banco mySQL"INSERT INTO tabela (data_e_hora) VALUES ($data_e_hora)"Espero ter ajudado amigo, T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra gravar no banco:

$sql = mysql_query("INSERT INTO tabela (login,senha,hora) values ('$login','$senha','$variavel_hora'));//Verificar se foi gravadoif (!$sql) {echo "Erro";} else {echo "Sucesso";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, voces falaram como grava no banco, mais como voces estao pegando a hora no PHP, ou seja a hora naquele momento ?????Qual função usarr ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, voces falaram como grava no banco, mais como voces estao pegando a hora no PHP, ou seja a hora naquele momento ?????Qual função usarr ????

quando você mexe com horas, para ter q ver qual é maior/menor, etc, recomendo você usar a data no formato "unix" (segundos desde 1970)campo mysql -> pode ser um campo formato INTEIRO (int)para obter um valor$dataemunix = date("U");para converter uma data unix para valores normais:echo date("h:i:s - d/m/Y", $dataemunix);--inserir a data já explicaram aqui...--você pode usar para ver as sessões antigas ou etc, uma query +/- assim:"select * from sessoes where dataunix <= ".date("U")-(60*60)//a query acima vai te retornar as sessoes onde a data é menor q a hroa atual - 1 hora..se ainda tiver dúvidas.. vai falando!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi da sua pergunta, você não precisa guardar a hora no banco pra experirar o login do cara!!! A SESSION tem um tempo de expiração que é pré determinado no php.ini. Da uma estudada sobre SESSION que você vai saber como fazer, pq guardar o tempo de visita de um usuário no seu site em banco de dados eu acho (sem ofensa) bobagem. :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

;) Espertinho!!! HeheheNão pensei nisso pq vi que a necessidade dele era outra!!!Mas é uma boa pra ele continuar com a idéia dele de guardar horas, mas pra falar a verdade, ele vai ter que somar horas, pra sabe quanto tempo ele permaneceu on-line!!! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

A princípio achei bobagem tambem criar uma tabela para usuários online, sendo que uma session posso guardar os mesmos valores.

 

A parte de expiração consegui fazer. Valeu pelas dicas.

 

Eu resolvi fazer dessa maneira pois vi no site phpbrasil uma maneira de propagas as session em todo o site a cada visita.

 

Deem uma olhada nesse artigo e me digam o que acham, se tem a lógica de guardar os dados em uma tabela.

 

Clique Aqui

 

Valeu !!!!

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.