Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Script de login com tempo


websuite

Pergunta

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

  • 0

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...

Link para o comentário
Compartilhar em outros sites

  • 0

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"])){

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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;
        }
?>

Link para o comentário
Compartilhar em outros sites

  • 0

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 por websuite
Link para o comentário
Compartilhar em outros sites

  • 0
<?
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;
        }
?>

Link para o comentário
Compartilhar em outros sites

  • 0

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;
          }

Link para o comentário
Compartilhar em outros sites

  • 0

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 por websuite
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...