Fórum AGENDAMENTO - PHP MYSQLI #609203
22/04/2020
0
Estou fazendo um sistema web para agendamento, porém, na hora do cliente agendar quero colocar para q ele não possa escolher uma data anterior a atual, mas quando coloco essa condição ele não permite agendar em mais nenhuma data.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?php session_start(); require_once 'conexaoDB.php' ; $procedimento = $_POST [ 'procedimento' ]; $profissional = $_POST [ 'funcionario' ]; $data = $_POST [ 'dataagenda' ]; $horario = $_POST [ 'hora' ]; $sql = mysqli_query( $conexao , "SELECT tempo FROM tb_servicos WHERE procedimento = '$procedimento'" ); $row = mysqli_fetch_array( $sql ); $tempo = $row [ 'tempo' ]; $horario_final = strtotime ( $tempo ) + strtotime ( $horario ); $horario_final = date ( "H:i" , strtotime ( '+15 minutes' , $horario_final )); $sql = "SELECT horaInicio,horaFim, funcionario FROM tb_agendamento WHERE funcionario = '$profissional' AND dataAgendamento = '$data'" ; $result = mysqli_query( $conexao , $sql ); $dados = mysqli_fetch_array( $result ); $semana = date ( "N" , strtotime ( $data )); $data_atual = date_default_timezone_set( 'America/Sao_Paulo' ); $data_atual = date ( "d/m/Y" , strtotime ( $data_atual )); if ( $semana == 7){ echo "<script language='javascript' type='text/javascript'> alert('Não abrimos de domingo, tente outro dia da semana!');window.location = '../servicos-agendamento/agendamento.php'</script>" ; } //CONDIÇÃO QUE NÃO ESTÁ FUNCIONANDO, ABAIXO else if ( $data < $data_atual ){ echo "<script language='javascript' type='text/javascript'> alert('Impossível agendar! A data escolhida já passou.');window.location = '../servicos-agendamento/agendamento.php'</script>" ; } else if ( $horario > $dados [ 'horaFim' ] && $horario != $dados [ 'horaInicio' ]){ $idCliente = $_SESSION [ 'cliente' ]; $insert = "INSERT INTO tb_agendamento (idProprietario, dataAgendamento, horaInicio, procedimento, funcionario, horaFim, idFuncionario, idServicos, idCliente) VALUES ('3', '$data', '$horario', '$procedimento', '$profissional', '$horario_final', NULL, NULL, '$idCliente')" ; if (mysqli_query( $conexao , $insert )){ echo "<script language='javascript' type='text/javascript'> alert('Agendado com sucesso!');window.location = '../perfis/perfilcliente.php'</script>" ; } else { echo "<script language='javascript' type='text/javascript'> alert('Erro ao agendar, tente novamente!');window.location = '../servicos-agendamento/agendamento.php'</script>" ; } } else { if ( $horario == $dados [ 'horaInicio' ] or $horario < $dados [ 'horaFim' ]){ echo "<script language='javascript' type='text/javascript'> alert('Horário indisponível, verifique e tente novamente');window.location = '../servicos-agendamento/agendamento.php'</script>" ; } } |

Beatriz
Curtir tópico
+ 0
Responder
Posts
24/04/2020
Ayrton Pereira
Beatriz,
Como você está enviando esses dados para o PHP? Diretamente do form no HTML ou utilizando Js?
Existe um método mais prático no PHP para se obter a data e hora atuais, para ser aplicado na sua variável $data_atual
Para entender o erro, precisamos saber o que está sendo retornado na sua variável $data.
Como você está enviando esses dados para o PHP? Diretamente do form no HTML ou utilizando Js?
Existe um método mais prático no PHP para se obter a data e hora atuais, para ser aplicado na sua variável $data_atual
1 | $data_atual = date ( 'd/m/Y' ); |
Para entender o erro, precisamos saber o que está sendo retornado na sua variável $data.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)