Jump to content
fideles

Verificar se ja está cadastrado

Recommended Posts

Galera, 

 

Alguém consegue me iluminar ai, a cabeça já fritou e não to conseguindo evoluir.

 

Tenho uma pequena agenda de reuniões online, onde uma pessoa pode reservar a sala em um determinado horário (Com hora de inicio e hora para terminar).

 

Acontece que atualmente tem gente marcando a mesma sala com o mesmo horário já marcado,

 

Estava estudando uma forma de bloquear essa marcação dupla e não to conseguindo. Por exemplo - Tem uma sala de reunião já reservada chamada Zinco com reunião de 14:00 as 15:30, outra pessoa ia la e vazia a mesma marcação, acontece que eu preciso verificar agora bloquear isso antes. Fazer uma verificação se a sala tal naquele horário já esta reservada, se não, ele permite agendar.

 

Veja como esta meu código.

 

<?php
//criar a conexao com o banco
include "sql.php";

if(isset($_POST['done'])){
   $evento = $_POST['evento'];
    $dtevento = $_POST['dia']."-".$_POST['mes']."-".$_POST['ano'];
    $autor = $_POST['autor'];
	$hora = $_POST['hora'];
	$hora_fim = $_POST['hora_fim'];
	$local = $_POST['local'];
    $conteudo = $_POST['conteudo'];
   
  //realize a verificação se o mesmo horario ja esta marcado
   if($hora > $hora AND $hora_fim < $hora_fim){
	   $registro = mysql_query("SELECT * FROM agenda WHERE hora='$hora' AND hora_fim='$hora_fim'");
	   $verifica = mysql_num_rows ($registro);
	   if($verifica > "$hora" AND $verifica < "$hora_fim"){
	    $erro = "Sala ja reservada para hoje";
		
		
    }else{        
       $sql = mysql_query("INSERT INTO `agenda`(`evento`, `dtevento`, `autor`, `hora`, `hora_fim`, `local`, `conteudo`)
	   VALUES ('$evento', '$dtevento', '$autor', '$hora', '$hora_fim', '$local', '$conteudo')") or die(mysql_error());
            if($sql){
                $erro = "Dados cadastrados com sucesso!";
              } else{
                  $erro = "Não foi possivel cadastrar os dados";
              }
    }
} }
?>

Acontece que o bloqueio que eu tentei fazer não funciona. 

Share this post


Link to post
Share on other sites

 

 

Você precisa pesquisar se existe marcação entre os intervalos e não somente no mesmo horário.

 

Ex: existe agendamento de 14h às 15h

 

E quero agendar de 14:30 as 16h

 

Com a busca exata vai retornar que a sala está livre e não é verdade.

 

Use o between

$sql = "SELECT * FROM agenda WHERE data BETWEEN '2018-02-01' AND '2018-02-28'";

 

Retornando resultado > 0 você não permite a marcação da sala.

 

Post aqui do forum falando sobre datas de uma agenda: 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros amigos
       
      saudações...
       
      Gostaria de tirar uma dúvida com os amigos, referente uma função em Codeigniter.
       
      Fiz algumas pesquisa, mas não entendi muito bem.
       
      No Codeigniter existe base_url() e site_url(), qual é a diferença entre essas funções ou são a mesma coisa ?
       
      Grato,
       
      Cesar
    • By Kemily
      Estou com dificuldade com este programa.
      Ele da erro e não sei o que posso fazer para ele mostrar na tela o exemplo da venda de carros.
      Neste programa eu preciso conseguir dar opções de carros e formas de pagamento ao usuário para depois armazenar a escolha e assim criar uma tabela com o id do usuário, escolha de carro, quanto será a entrada e quantas parcelas de pagamento.
      Faltam algumas coisas ainda mas eu não sei como inseri-las.
      <?php if ($_POST) { $saldo = $_POST['total'] - $_POST['entrada']; <tr> <td>carro</td> <td>$_post['carro']</td> </tr> <tr> <td>total</td> <td>$_post['carro']</td> </tr> <tr> <td>estrada</td>, <td>$_post['entrada']</td> </tr> <tr> <td>parcelas</td> <td>$_post['parcelas']</td> </tr> <tr> <td>saldo</td> <td>$_POST['total'] - $_POST['entrada']</td> </tr> } ?> <html> <body> <form name='Carros' action='' method='post'> <label for="carros">Qual carro deseja comprar?</label> <br> <br> <select name="carros"> <option value="bmw">BMW M3 Sedã</option> <option value="chevrolet">Chevrolet Volt</option> <option value="dodge">Chrysler/Dodge Journey</option> <option value="citroen">Citroen C4 Lounge</option> <option value="ford">Ford Ka</option> </select> <label for="entrada">$ Entrada</label> <input type="dinheiro" value="0" name="entrada"><br> <label for="parcelas">Quantas parcelas?</label> <select name="parcelas"> <option value="12">12</option> <option value="24">24</option> <option value="36">36</option> <option value="48">48</option> </select><br><br> <label for="total">$ Total</label> <input type="dinheiro" value="0" name="total"><br> <input type="submit" value="Enviar"> </form> </body> </html>  
    • By Kemily
      <? php /* 1 - Faça uma função que recebe 3 numeros e faça a média aritmética desses números e retorne o resultado. */ if (isset ($_POST['enviar'])); $valor1 = $_POST['valor1']; $valor2 = $_POST['valor2']; $valor3 = $_POST['valor3']; $media = ($valor1 + $valor2 + $valor3) / 3; endif; ?> <!DOCTYPE html> <html> <head> <meta charset = "Utf-8"> <title> Cálculo da média aritimética</title> </head> <body> <form method="post" action=""> <br> <label>Primeiro valor: </label> <input name="valor1" type="text"> <br> <label>Segundo valor: </label> <input name="valor2" type="text"> <br> <label> Terceiro valor: </label> <input name="valor3" type="text"> <br> <br> <button type="submit" name="enviar"> Calcular Média </button> <button type="reset"> Limpar </button> <br> <br> Valor da Média <? php echo "A média equivale a:<br>" . $media . " - "; ?> </form> </body> </html> Alguém pode me ajudar?
      Eu estou fazendo este programa para calcular a média aritmética de três número que serão digitados pelo usuário.
      Porém não estou conseguindo fazer o resultado ser apresentado na tela.
      Nem o ultimo "echo" aparece só o " " . $media . " - "; " literalmente é isso que aparece onde deveria mostrar o resultado.
      Sou iniciante na área de php e se puderem ajudar agradeço. 
    • By Marcos PP
      Tenho que retornar os dados desta URL e transformar em variaves em PHP

      Ja tentei alguns exemplos mas so me retorna Null

      http://betontec.fortiddns.com:8082/api/login?usuario=joeliton&senha=123

       
      $data = file_get_contents('http://betontec.fortiddns.com:8082/api/login?usuario=joeliton&senha=123'); $data = json_decode($data,true); var_dump($data);  
    • By gramosiri2
      Ola amigos, estou tentando fazer uma confirmação de cadastro por email, porém não estou tendo êxito. Consigo pegar o usuario, email e senha. Porem quando dou um 'echo' na variavel $id e $md5 para conferir os dados não aparece nada e o INSERT não é feito. Segue o codigo.
       
      <?php $host = "mysql:busca;host=localhost"; $usuario = "root"; $pass = ""; try{ $pdo = new PDO($host, $usuario, $pass); }catch(PDOExecption $e){ echo "Falha: ". $e->getMessage(); } $user = addcslashes($_POST['user'],"F"); $email = addcslashes($_POST['email'],"F"); $senha = md5(addcslashes($_POST['senha'],"F")); $pdo->query("INSERT INTO tabela1 SET user='$user', email='$email', senha='$senha'"); $id = $pdo->lastInsertId(); $md5 = md5($id); $assunto = "Confirme seu cadastro"; $link = "confirma.php?h=".$md5; $mensagem = '<a href="'.$link.'">Clique aqui para confirmar: </a>'; $header = "From: teste"; echo $user.'<br>'; echo $email.'<br>'; echo $senha.'<br>'; echo $id.'<br>'; echo $md5.'<br>'; mail($email, $assunto, $mensagem, $header); ?> TABELA:
      CREATE TABLE `tabela1` ( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `user` varchar(50), `email` varchar(100), `senha` varchar(50), `status` tinyint(4) );  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.