websuite Postado Junho 13, 2008 Denunciar Share Postado Junho 13, 2008 Gostaria de fazer um sistema de login da seguinte forma e não estou dando conta=>Tenho a tabela funcionarios onde tem => login , senha , inicio e fim onde=>login = login do usersenha = senha da pessoainicio = 08:00fim = 18:00gostaria que o funcionario somente acesse o sistema dentro destes horarios. alguém pode me ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cassianooliver Postado Junho 13, 2008 Denunciar Share Postado Junho 13, 2008 você precisará trabalhar com a função date, para verificar o horário em que ele faz o login...isso deve ser feito na página que verifica o login...seria + ou - assim:verifica o login e senha...pega no BD a hora que ele pode efetuar o login...pega a hora do servidor e as compara...se estiver dentro do horário permitido, passa para a página restrita...a idéia é + ou - essa... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 13, 2008 Autor Denunciar Share Postado Junho 13, 2008 ai e o problema...fiz assim e não deu $inicio='08:00'; $fim='18:00'; $selecao="select * from funcionarios where login='$login' and $inicio <> $fim"; $consulta=mysql_query($selecao); $total=mysql_num_rows($consulta); if($total>0){ $linha=mysql_fetch_array($consulta); if(!strcmp($senha,$linha["senha"])){ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tonzinhu Postado Junho 13, 2008 Denunciar Share Postado Junho 13, 2008 bom, não sou expert em php mas acho q daria pra fazer mais ou menos dessa forma.//pega hora atual $hora_atual = date("H:i"); Ai só fazer a validação. if($hora_atual < $inicio || $hora_atual > $fim){ instruções } else{ instruções }mais ou menos isso.Qlqer coisa posta ae. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 13, 2008 Denunciar Share Postado Junho 13, 2008 Pra que isso -> and $inicio <> $fim ???Coloca a condição do horário em um if...$hora = date('H'); if($hora > $inicio AND $hora < $final){ }else{ //Aqui é só estiver fora do horário.. }Como você quer hora "cheia" nem precisa do :00 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 16, 2008 Autor Denunciar Share Postado Junho 16, 2008 Galera não consegui colocar ...não entendo muito bem de php tem como me ajudarem..a implementar nesse scritp aqui=><? require "../sys/conexao_net.php"; session_start(); if(($login=="")||($senha=="")){ $arquivo = file("erro_login_empty.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } $hora = date('H'); $selecao="select cod_funcionario,nome,login,senha,nivel,inicio,fim from funcionarios where login='$login'"; $consulta=mysql_query($selecao); $total=mysql_num_rows($consulta); if($total>0){ $linha=mysql_fetch_array($consulta); if(!strcmp($senha,$linha["senha"])){ $_SESSION["cod_funcionario"]=$linha["cod_funcionario"]; $_SESSION["nome"]=$linha["nome"]; $_SESSION["nivel"]=$linha["nivel"]; header("location: ../index.php"); exit; } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 16, 2008 Autor Denunciar Share Postado Junho 16, 2008 alguém pra me ajudar já tentei de varias formas e não consegui Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 19, 2008 Autor Denunciar Share Postado Junho 19, 2008 Galera já tentei de tudo e não consegui...alguém pode me ajudar com esse script ai? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 Coloca aqui no fórum umas 5 tentativas suas pra gente ver... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 19, 2008 Autor Denunciar Share Postado Junho 19, 2008 (editado) Um dos testes<? require "../sys/conexao_net.php"; session_start(); if(($login=="")||($senha=="")){ $arquivo = file("erro_login_empty.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } $hora = date('H'); $selecao="select cod_funcionario,nome,login,senha,nivel,inicio,fim from funcionarios where login='$login'"; $consulta=mysql_query($selecao); $total=mysql_num_rows($consulta); if($total>0){ $linha=mysql_fetch_array($consulta); if(!strcmp($senha,$linha["senha"])){ $_SESSION["cod_funcionario"]=$linha["cod_funcionario"]; $_SESSION["nome"]=$linha["nome"]; $_SESSION["nivel"]=$linha["nivel"]; header("location: ../index.php"); exit; } if($hora > $inicio AND $hora < $final){ exit; }else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } ?> 2ª tentativa <? require "../sys/conexao_net.php"; session_start(); if(($login=="")||($senha=="")){ $arquivo = file("erro_login_empty.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } $hora = date('H'); $selecao="select cod_funcionario,nome,login,senha,nivel,inicio,fim from funcionarios where login='$login'"; $consulta=mysql_query($selecao); $total=mysql_num_rows($consulta); if($total>0){ $linha=mysql_fetch_array($consulta); if(!strcmp($senha,$linha["senha"])){ if($hora > $inicio AND $hora < $fim){ exit; } $_SESSION["cod_funcionario"]=$linha["cod_funcionario"]; $_SESSION["nome"]=$linha["nome"]; $_SESSION["nivel"]=$linha["nivel"]; header("location: ../index.php"); exit; } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } ?> Editado Junho 19, 2008 por websuite Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 Tá, pode parar, onde estão os valores das variáveis $inicio e $final? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 19, 2008 Autor Denunciar Share Postado Junho 19, 2008 Os valores estao na tabela funcionarios =>inicio=>8 fim=>18 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 Então você tem que usar: $linha['inicio'] e $linha['fim'] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 19, 2008 Autor Denunciar Share Postado Junho 19, 2008 Ai e o problema como usar!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 <? require "../sys/conexao_net.php"; session_start(); if(($login=="")||($senha=="")){ $arquivo = file("erro_login_empty.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } $hora = date('H'); $selecao="select cod_funcionario,nome,login,senha,nivel,inicio,fim from funcionarios where login='$login'"; $consulta=mysql_query($selecao); $total=mysql_num_rows($consulta); if($total>0){ $linha=mysql_fetch_array($consulta); if(!strcmp($senha,$linha["senha"])){ if($hora <= $linha['inicio'] OR $hora => $linha['fim']){ exit; } $_SESSION["cod_funcionario"]=$linha["cod_funcionario"]; $_SESSION["nome"]=$linha["nome"]; $_SESSION["nivel"]=$linha["nivel"]; header("location: ../index.php"); exit; } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 19, 2008 Autor Denunciar Share Postado Junho 19, 2008 Deu o seguinte erro na linha 18Parse error: parse error in c:\apache\htdocs\escola\login\login_confirma.php on line 18linho 18 if($hora <= $linha['inicio'] OR $hora => $linha['fim']){ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 $hora <= $linha['inicio'] OR $hora >= $linha['fim'] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 19, 2008 Autor Denunciar Share Postado Junho 19, 2008 agora não da erro so abre uma pag em branco. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 Amigão, lê o script e se pergunta: Porque será que está abrindo apenas uma página em branco. Seria porque isso:if($hora <= $linha['inicio'] OR $hora >= $linha['fim']){ exit; } Está retornando verdadeiro? Veja que se isso retornar verdadeiro o script simplesmente encerra e execução e ponto final, vamos testar? Altera aquilo ali pra isso: if($hora <= $linha['inicio'] OR $hora >= $linha['fim']){ echo 'opa, o script foi encerrado'; exit; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 websuite Postado Junho 19, 2008 Autor Denunciar Share Postado Junho 19, 2008 (editado) Isso mesmo vi agora e montei..Muito obrigado ESerra e desculpa por encomodar tanto..e que to começando a pouco tempo a mecher com php<? require "../sys/conexao_net.php"; session_start(); if(($login=="")||($senha=="")){ $arquivo = file("erro_login_empty.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } $hora = date('H'); $selecao="select cod_funcionario,nome,login,senha,nivel,inicio,fim from funcionarios where login='$login'"; $consulta=mysql_query($selecao); $total=mysql_num_rows($consulta); if($total>0){ $linha=mysql_fetch_array($consulta); if($hora < $linha['inicio'] OR $hora > $linha['fim']){ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } if(!strcmp($senha,$linha["senha"])){ $_SESSION["cod_funcionario"]=$linha["cod_funcionario"]; $_SESSION["nome"]=$linha["nome"]; $_SESSION["nivel"]=$linha["nivel"]; header("location: ../index.php"); exit; } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } } else{ $arquivo = file("erro_login.php"); $arquivo = implode(" ",$arquivo); echo $arquivo; exit; } ?> Editado Junho 19, 2008 por websuite Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
websuite
Gostaria de fazer um sistema de login da seguinte forma e não estou dando conta=>
Tenho a tabela funcionarios onde tem => login , senha , inicio e fim onde=>
login = login do user
senha = senha da pessoa
inicio = 08:00
fim = 18:00
gostaria que o funcionario somente acesse o sistema dentro destes horarios. alguém pode me ajudar?
Link para o comentário
Compartilhar em outros sites
19 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.