Read Postado Julho 5, 2011 Denunciar Share Postado Julho 5, 2011 preciso de um sistema de login definido por hora06:00 as 12:00 usuários manha12:00 as 18:00 usuários tarde18:00 as 00:00 usuários noite00:00 as 06:00 usuários madrugadao Usuário cadastrado em determinado período não devera conseguir logar fora do horário delenão precisa ser nada sofisticado pois o login sera feito através de um programa.se possível algo que não use Mysql. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 5, 2011 Denunciar Share Postado Julho 5, 2011 E qual exatamente a sua dúvida? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Read Postado Julho 6, 2011 Autor Denunciar Share Postado Julho 6, 2011 (editado) <?php $user = $_GET["user"]; $pass = $_GET["pass"]; $fp = fopen("AutoITdata.txt", "r"); $string = fgets($fp); $array = array( 'user1' => '123456', 'user2' => '654321', 'user3' => '456789', 'user4' => '987654'); while ($name = key($array)) { if ($name == $user) { if ($pass == current($array)) { echo $string; break; } else { echo "01"; break; } } next($array); } echo "02"; ?>meu programa valida esses dados por meio de um sistema de loginonde só libera acesso a suas funções se os dados estiverem corretosgostaria de saber como colocar intervalos de data e hora nesse script phptipo o user1 só pode se logar das 12:00 as 18:00 do dia 07/07/11 ate 15/09/11 etc,sendo q a data e a hora seja pega do servidorpara impedir q mudem a hora do pc pra burlar o sistema. Editado Julho 6, 2011 por Read Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ricardo T. do Prado Postado Julho 6, 2011 Denunciar Share Postado Julho 6, 2011 Use a função Date() do php e salve esses intervalos em variáveis comprando através de um 'if".Abs. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Read Postado Julho 6, 2011 Autor Denunciar Share Postado Julho 6, 2011 teria como mostrar essa alteração em funcionamento no código que postei porque do jeito q fiz aqui não deu certo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ricardo T. do Prado Postado Julho 6, 2011 Denunciar Share Postado Julho 6, 2011 <?php $hora_entrada_site = date("h:i:s"); // pega a hora atual do servidor $entrada_intervalo = date("06:00:00"); // declara hora inicial do intervalo. no caso pode ser um campo do mysql $saida_intervalo = date("12:00:00"); // declara hora final do intervalo. no caso pode ser um campo do mysql echo "você entrou às: ".$hora_entrada_site."<br>"; echo "horário de entrada mínimo: ".$entrada_intervalo."<br>"; echo "horário de saída máximo: ".$saida_intervalo."<br>"; if($hora_entrada_site < $entrada_intervalo || $hora_entrada_site > $saida_intervalo) { echo "ae negão! tá fazendo o que nesse horário?"; } else { echo "é nóis Dr. let's go"; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Read Postado Julho 6, 2011 Autor Denunciar Share Postado Julho 6, 2011 como falei anteriormente a pagina php não é mostrada ao usuárioserve somente para validar os dados no programa ou seja a tela de login é mostrada pelo programae não pelo navegador, o código que preciso é um complemento do que eu postei no primeiro tópico que simplesmenterecuse o login fora do horário e data daquele usuário não fazendo nada como se o login estivesse errado.como a pagina não e mostrada não precisa de nenhum tipo de msg pois o user não terá como vê-las.estou usando um servidor gratuito para hospedar o php q não fornece BD mysql.ao abrir meu programa ele abre uma tela de login que valida os dados por esse código phpse o login estiver correto o programa roda normalmente, más se o login estiver erradoo programa fecha, só que eu quero colocar tipo um sistema que force o usuário a usar o programaem determinado turno ( manhã, tarde, noite ou madrugada ) com validade por data. exemplo: o user1 só pode usar o programa das 06:00 as 12:00 do dia 18/07/11 ate 18/07/11 ( mesmo dia )o user2 só pode usar o programa das 12:00 as 18:00 do dia 18/07/11 ate 23/08/11o user3 só pode usar o programa das 18:00 as 00:00 do dia 18/07/11 ate 19/07/11o user4 só pode usar o programa das 00:00 as 06:00 do dia 18/07/11 ate 25/09/11então o login do user1 no horário do user2 deveria ser impedido Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ricardo T. do Prado Postado Julho 6, 2011 Denunciar Share Postado Julho 6, 2011 Não me leve a mal. Mas, pelo o que eu postei dá pra fazer isso. Ou você não dá conta de fazer e quer o script pronto?Abs. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Read Postado Julho 7, 2011 Autor Denunciar Share Postado Julho 7, 2011 sei fazer mesmo nãoda forma que tentei não funcionojá que você ta dizendo que tem como se puder me passar o código pronto pra min seria uma boa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ricardo T. do Prado Postado Julho 7, 2011 Denunciar Share Postado Julho 7, 2011 sei fazer mesmo nãoda forma que tentei não funcionojá que você ta dizendo que tem como se puder me passar o código pronto pra min seria uma boa.Então, a intenção do forum é auxiliar. Como você disse que não sabe fazer, acredito que tem bastantes freelancers aqui. Caso queira me contratar, pode me adicionar no skype/MSN.Abs. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Read Postado Julho 7, 2011 Autor Denunciar Share Postado Julho 7, 2011 (editado) affconsegui essa solução gratuitamente em outro fórum :D pode pelo-menos me auxiliar a colocar em funcionamentoMEU CODIGO<?php $user = $_GET["user"]; $pass = $_GET["pass"]; $fp = fopen("AutoITdata.txt", "r"); $string = fgets($fp); $array = array( 'user1' => '123456', 'user2' => '654321', 'user3' => '456789', 'user4' => '987654'); while ($name = key($array)) { if ($name == $user) { if ($pass == current($array)) { echo $string; break; } else { echo "01"; break; } } next($array); } echo "02"; ?> SOLUÇÃO ( quem me passou esse código disse que simularia um banco de dados ) $dados = array(); $dados['user1']['chave'] = '12345'; $dados['user1']['hora_inicio'] = 6; $dados['user1']['hora_fim'] = 12; $dados['user2']['chave'] = '12345'; $dados['user2']['hora_inicio'] = 12; $dados['user2']['hora_fim'] = 18; $dados['user3']['chave'] = '12345'; $dados['user3']['hora_inicio'] = 18; $dados['user3']['hora_fim'] = 24; $dados['user4']['chave'] = '12345'; $dados['user4']['hora_inicio'] = 24; $dados['user4']['hora_fim'] = 6; tentei assim <?php $user = $_GET["user"]; $pass = $_GET["pass"]; $fp = fopen("AutoITdata.txt", "r"); $string = fgets($fp); $dados = array( 'user1' => '12345', 'user2' => '12345', 'user3' => '12345', 'user4' => '12345'); $dados['user1']['chave'] = '12345'; $dados['user1']['hora_inicio'] = 6; $dados['user1']['hora_fim'] = 12; $dados['user2']['chave'] = '12345'; $dados['user2']['hora_inicio'] = 12; $dados['user2']['hora_fim'] = 18; $dados['user3']['chave'] = '12345'; $dados['user3']['hora_inicio'] = 18; $dados['user3']['hora_fim'] = 24; $dados['user4']['chave'] = '12345'; $dados['user4']['hora_inicio'] = 24; $dados['user4']['hora_fim'] = 6; while ($name = key($dados)) { if ($name == $user) { if ($pass == current($dados)) { echo $string; break; } else { echo "01"; break; } } next($dados); } echo "02"; ?> Editado Julho 7, 2011 por Read Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Roger Mauricio Takemiya Postado Julho 8, 2011 Denunciar Share Postado Julho 8, 2011 Bom dia readse o horário é padronizado e não individual... assim é meio sem lógica$dados['user4']['hora_inicio'] = 24;$dados['user4']['hora_fim'] = 6;poderia ser assim$dados['user4']['hora'] = 1;aonde código 1 representa...24 até 0...até ai é o d menos cara...você pode usar a função mktime para comparar as datas (a da permissão do usuário, com a data atua do servidor)olha esse exemplo que achei$MaxDate = mktime(0, 0, 0, 04, 10, 2009); $MinDate = mktime(0, 0, 0, 06, 05, 2009); $GivenDateString = $_POST['date']; // $GivenDateArray = explode('/', $GivenDateString); $GivenDate = mktime(0, 0, 0, $GivenDateArray[1], $GivenDateArray[0], $GivenDateArray[2]); if($GivenDate > $MaxDate){ // Date is too large }else if($GivenDate < $MinDate){ // Date is too small }else{ // Date is valid }Aonde está assim... invez de post você poderia pegar a data do servidor usando a função date()$GivenDateString = $_POST['date']; E aqui, você colocaria a data que o usuário é permitido usar o seu sistema..$MaxDate = mktime(0, 0, 0, 04, 10, 2009); $MinDate = mktime(0, 0, 0, 06, 05, 2009); Para você entender como funciona o mktime...http://www.php.net/manual/pt_BR/function.mktime.phpAbrçs.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Read
preciso de um sistema de login definido por hora
06:00 as 12:00 usuários manha
12:00 as 18:00 usuários tarde
18:00 as 00:00 usuários noite
00:00 as 06:00 usuários madrugada
o Usuário cadastrado em determinado período não devera conseguir logar fora do horário dele
não precisa ser nada sofisticado pois o login sera feito através de um programa.
se possível algo que não use Mysql.
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.