AGENDAMENTO - PHP MYSQLI
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.
<?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
$data_atual= date('d/m/Y');
Para entender o erro, precisamos saber o que está sendo retornado na sua variável $data.
Responder
Clique aqui para fazer login e interagir na Comunidade :)