Read Posted July 5, 2011 Report Share Posted July 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. Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted July 5, 2011 Report Share Posted July 5, 2011 E qual exatamente a sua dúvida? Quote Link to comment Share on other sites More sharing options...
0 Read Posted July 6, 2011 Author Report Share Posted July 6, 2011 (edited) <?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. Edited July 6, 2011 by Read Quote Link to comment Share on other sites More sharing options...
0 Ricardo T. do Prado Posted July 6, 2011 Report Share Posted July 6, 2011 Use a função Date() do php e salve esses intervalos em variáveis comprando através de um 'if".Abs. Quote Link to comment Share on other sites More sharing options...
0 Read Posted July 6, 2011 Author Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
0 Ricardo T. do Prado Posted July 6, 2011 Report Share Posted July 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"; } ?> Quote Link to comment Share on other sites More sharing options...
0 Read Posted July 6, 2011 Author Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
0 Ricardo T. do Prado Posted July 6, 2011 Report Share Posted July 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. Quote Link to comment Share on other sites More sharing options...
0 Read Posted July 7, 2011 Author Report Share Posted July 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. Quote Link to comment Share on other sites More sharing options...
0 Ricardo T. do Prado Posted July 7, 2011 Report Share Posted July 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. Quote Link to comment Share on other sites More sharing options...
0 Read Posted July 7, 2011 Author Report Share Posted July 7, 2011 (edited) 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"; ?> Edited July 7, 2011 by Read Quote Link to comment Share on other sites More sharing options...
0 Roger Mauricio Takemiya Posted July 8, 2011 Report Share Posted July 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.. Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.