Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2018, 08:42
tomuer01
 
Fecha de Ingreso: enero-2009
Mensajes: 106
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Validar antes de insertar.

Buen día,

Favor necesito ayuda para impedir insertar datos repetidos.
Explico:
Estoy haciendo una agenda electronica con sesiones de usuario, cada usuario agrega sus eventos y ve solo sus eventos, todo esto funciona, lo que quiero impedir es que un usuario agrege 2 eventos con la misma fecha y hora.
Adjunto codigo.

Código PHP:
<?php
// Definimos nuestra zona horaria
date_default_timezone_set("America/Santiago");

// incluimos el archivo de funciones
include 'funciones.php';

// incluimos el archivo de configuracion
/**/
include 'bd.php';

// Verificamos si se ha enviado el campo con name from
if (isset($_POST['from'])) 
{

    
// Si se ha enviado verificamos que no vengan vacios
    
if ($_POST['from']!="" AND $_POST['to']!=""
    {

$diaexplode("/",$_POST['from']);
$mesexplode("/",$_POST['from']);
$anoexplode("/",$_POST['from']);

        
// Recibimos el fecha de inicio y la fecha final desde el form

        
$inicio _formatear($_POST['from']);
        
// y la formateamos con la funcion _formatear

        
$final  _formatear($_POST['to']);

        
// Recibimos el fecha de inicio y la fecha final desde el form

        
$inicio_normal $_POST['from'];

        
// y la formateamos con la funcion _formatear
        
$final_normal  $_POST['to'];

        
// Recibimos los demas datos desde el form
        
$titulo evaluar($_POST['title']);

        
// y con la funcion evaluar
        
$body   evaluar($_POST['event']);



        
// reemplazamos los caracteres no permitidos
        
$clase  evaluar($_POST['class']);
        
        
$query mysqli_query($mysqli"SELECT * FROM eventos WHERE id_user='$_SESSION[id_user]'")
                                or die(
'error: '.mysqli_error($mysqli));


$data mysqli_fetch_assoc($query);

if (
$data['inicio_normal']=='$inicio_normal') {
    
    echo 
" <script type='text/javascript'> alert('Horario No Disponible!'); </script> ";
}else {                
        
// insertamos el evento
        
$query="INSERT INTO eventos VALUES(null,'$_SESSION[id_user]','$titulo','$body','','$clase','$inicio','$final','$inicio_normal','$final_normal','$dia[0]','$mes[1]','$ano[2]' )";

        
// Ejecutamos nuestra sentencia sql
        
$mysqli->query($query)or die('<script type="text/javascript">alert("Horario No Disponible ")</script>');
 
    
    }
    
    
    
        
// Obtenemos el ultimo id insetado
        
$im=$mysqli->query("SELECT MAX(id) AS id FROM eventos WHERE id_user='$_SESSION[id_user]'");
        
$row $im->fetch_row();  
        
$id trim($row[0]);

        
// para generar el link del evento
        
$link "$base_url"."modulos/calendario/descripcion_evento.php?id=$id";
        

        
// y actualizamos su link
        
$query="UPDATE eventos SET url = '$link' WHERE id = $id AND id_user='$_SESSION[id_user]'";

        
// Ejecutamos nuestra sentencia sql
        
$mysqli->query($query); 

        
// redireccionamos a nuestro calendario
        //header("Location:$base_url"."modulos/calendario/ver.php"); 
    
}
}
 
?>
La fecha se guarda en un campo varchar con formato dd/mm/aaaa h:m (08/02/2018 20:18)