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

Proibir cadastro a partir das 17:00 horas


marvi

Pergunta

Olá pessoal,

Eu tenho um formulário de agendamento, agendar consultas on-line, que eu queria proibir o cadastro a partir das 17:00 horas se caso o usuário faça um cadastro de agendamento para o dia seguinte. Ou seja: se o usuário resolver se cadastrar a tarde a partir das 17:00 hs e esse cadastro for para realizar o agendamento para o dia seguinte, então o sistema não permitirá.

Mas, só pode proibir se for para o dia seguinte, se ele se cadastrar para 2 ou 3 dias futuros, poderá sim.

Tipo, veja o formulário de exemplo:

Tem os campos:

Nome_____

Data do agendamento________

Se o usuário no dia 4/5/2009 for se cadastrar marcando o agendamento para o dia seguinte, que no caso, é o dia 5/5/2009 e na hora deste cadastro for as 17:00 hs, então o sistema quando for cadastrar, fará um teste e não permitirá cadastrar.

Só poderá cadastrar se ele marcar para o dia 6/5/2009 ou seja: toda vez que for 17:00 hs ele não poderá marcar para o dia seguinte, só para outros dias depois do dia seguinte. Se ele marca na quarta-feira as 17:00 o sistema só permite agendar se a data do campo for para sexta-feira.

Agora, se for cadastrar antes das 17:00, o usuário pode cadastrar normal.

Alguém sabe como fazer isso? Tentei e não acerto uma forma.

Desde já, agradeço

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Marvi,

Gerei um código aqui e efetuei alguns teste, acredito que esteja certo. Veja se atende as suas necessidades. Caso não, favor me informar para que eu possa ver uma outra forma de lhe ajudar.

<%
'VERIFICA O REQUEST
If request("processar") = "sim" Then

    'DECLARA VAR DE VERIFICAÇÃO
    bit_status = false
    'RETORNO DO CAMPO DIGITADO
    data_informada = request("data_agendamento")
    
    'VERIFICA SE A DATA FOI INFORMADA
    If Not(IsNull(data_informada) OR data_informada = "") Then
    
        'VALIDA SE É UMA DATA VÁLIDA
        If IsDate(data_informada) Then
        
            'VERIFICA A DIFERENÇA DE DIAS
            dif_dias = DateDiff("d", Date, data_informada)
            
            'CASO A DIFERENÇA SEJA DE 1 DIA, CORRESPONDE COMO AO DIA SEGUINTE
            If CInt(dif_dias) = 1 Then
            
                'MONTA O DIA BASE DO DIA SEGUINTE
                dia_seguinte = FormatDateTime(DateAdd("d", 1, Date),2) & " 00:00:00"                
                'VERIFICA A DIFERENÇA EM HORAS
                dif_hora = DateDiff("n", dia_seguinte, CDate(data_informada))
                
                'CASO A DIFERENÇA SEJA MAIOR QUE 1020 MINUTOS (17h)
                If CInt(dif_hora) >= 1020 Then
                    'NÃO ´PERMITIDO O CADASTRO
                    bit_status = false
                Else
                    'PERMITE O CADASTRO
                    bit_status = true
                End If
            
            Else
                'CASO A DIFERENÇA SEJA MAIOR QUE 1 DIA, O CADASTRO É PERMITIDO
                bit_status = true
            End If
                        
        Else
            'CASO NÃO SEJA UMA DATA VÁLIDA, NÃO PERMITE O CADASTRO
            bit_status = false
        End If
    Else
        'CASO NÃO TENHA INFORMADO UMA DATA, NÃO PERMITE O CADASTRO
        bit_status = false
    End If
    
    'EXIBE A MENSAGEM DE ACORDO COM O STATUS
    If (bit_status) Then
        response.write "O cadastro pode ser efetuado."
    Else
        response.write "A data não foi validada."
    End If    
End If
%>
<body>
<!-- FORMULÁRIO -->
<form name="form1" method="post" action="index.asp">
    <input type="text" name="data_agendamento" />
    <input type="submit" value="Enviar" />
    <input type="hidden" name="processar" value="sim" />
</form>
</body>
</html>

Flwsss...

Link para o comentário
Compartilhar em outros sites

  • 0

Felipe, não cheguei a testar...

Mas, o problema é que você não informou o teste da hora.

Pois, só se passar das 17 horas até as meioa noite ou as 23:59 não poderá cadastrar para a data o dia seguinte, entendeu?

A hora tem que aparecer o teste antes, mas vou mudar a ordem...

Editado por marvi
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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...