AGENDAMENTO - PHP MYSQLI

22/04/2020

8

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

$data_atual= date('d/m/Y');


Para entender o erro, precisamos saber o que está sendo retornado na sua variável $data.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar