AGENDAMENTO - PHP MYSQLI
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
Curtidas 0
Respostas
Ayrton Pereira
22/04/2020
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.
GOSTEI 0