Ir ao conteúdo
  • Cadastre-se

Dúvida com sistema de login


Matrix cods

Posts recomendados

pessoal ja fiz meu sistema de login e nivel de acesso,ja esta funcionando perfeitamente,só o que quero agora é por exemplo criar uma session para o formulario de login buscar a data do registro da pessoa e se for acima de 30 dias ela aparecer uma mensagem dizendo que a assinatura expirou,isso é uma medida de segurança pois nao vou poder tar o tempo todo vendo as datas e efetuando esse bloqueio,então pessoal eu sou leigo quando assunto sao sessoes eai como eu faço pra resolver isso?valeu pela ajuda abraços

Link para o comentário
Compartilhar em outros sites

  • Moderador

você nao precisa de sessions pra isso... basta colocar no script de autenticaçao, um sql de consulta a data na tabela.. dá um explode na data para dividir ela e joga dentro de um if. se o dia for maior do que 30 você da um header location pro lugar onde quer q ele seja redirecionado.

mas ai tem um problema, que deve ser pensado.. nem todos os meses tem 30 dias... então tens q pensar como recalcular sempre o fim de cada mes e baseado na data do ultimo pagamento realizado( q você deve armazenar no banco para fazer esta comparaçao)

Link para o comentário
Compartilhar em outros sites

Ou ainda fazer um select, baseado em uma data que você vai mandar pro sql, pegar o sysdate, e deixar com o banco para fazer a verificação, utilizando um sql com if then else endif;

Acho que fica mais fácil e com menos comparações, sem contar que se você delegar para o banco fazer isso, fica muito mais rápido.

Abraços

Link para o comentário
Compartilhar em outros sites

  • Moderador

Roberto, onde exatamente se armazena as funçoes criadas diretamente dentro do phpmyadmin? me pareceu muito interessante executar funçoes la dentro mesmo do que no php.. isso seria algum tipo de procedure ou trigger? eu nao vi essa parte na faculdade por isso nao sei como fazer e onde fazer... mas sei que existe

Link para o comentário
Compartilhar em outros sites

Então, no phpMyAdmin não sei...

Uso muito no postgres, mas isso não é trigger ou procedure...

Na verdade são condições normais.. por exemplo

campo status, integer tamanho 1, da tabela propriedade.

0 -> inativo

1 -> ativo.

select

if status=0 then

'inativo'

elsif status=1 then

'ativo'

endif as condicao_propriedade

from

propriedade;

Ele vai retornar a coluna condicao_propriedade com o valor "inativo" ou "ativo".

Isso é muito interessante porque você já traz os dados formatados, e diminui o trabalho de fazer isso no php.

Abraços

Link para o comentário
Compartilhar em outros sites

Então, no phpMyAdmin não sei...

Uso muito no postgres, mas isso não é trigger ou procedure...

Na verdade são condições normais.. por exemplo

campo status, integer tamanho 1, da tabela propriedade.

0 -> inativo

1 -> ativo.

select

if status=0 then

'inativo'

elsif status=1 then

'ativo'

endif as condicao_propriedade

from

propriedade;

Ele vai retornar a coluna condicao_propriedade com o valor "inativo" ou "ativo".

Isso é muito interessante porque você já traz os dados formatados, e diminui o trabalho de fazer isso no php.

Abraços

tem como por um exemplo pratico fiquei meio perdido :confused:

Link para o comentário
Compartilhar em outros sites

O exemplo prático é esse que está ai em cima com o select...

SELECT CASE MAX(id) WHEN null THEN '1' ELSE 'Maior' END

este é outro jeito de se fazer também.

http://social.msdn.microsoft.com/forums/pt-BR/transactsqlpt/thread/487d7ec0-e5fb-4d3d-8708-b0a3845620f8

http://www.java2s.com/Code/SQL/Flow-Control/UseIFinselectclause.htm

Links que podem ser úteis.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...