Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数据库中发布重复的Ajax调用_Javascript_Php_Jquery_Ajax_Fullcalendar - Fatal编程技术网

Javascript 在数据库中发布重复的Ajax调用

Javascript 在数据库中发布重复的Ajax调用,javascript,php,jquery,ajax,fullcalendar,Javascript,Php,Jquery,Ajax,Fullcalendar,我正在使用php来使用Fullcalendar jquery进行事件管理。我使用ajax调用添加事件。对于刷新后的第一个事件条目,调用可以正常工作。但对于以下事件条目,会为每个条目创建重复的事件。不知道是什么原因造成的 这就是错误: 这是jquery调用: Jquery 这是PHP代码: PHP 请有人帮我解决这个问题。我会给每个事件添加一个控件,例如一个动态GUID,然后可以用来保存到DB。通过这种方式,您可以在处理CalDAV协议时使用GUID,如果您选择使用日历,还可以确保数据库中没有偶然

我正在使用php来使用Fullcalendar jquery进行事件管理。我使用ajax调用添加事件。对于刷新后的第一个事件条目,调用可以正常工作。但对于以下事件条目,会为每个条目创建重复的事件。不知道是什么原因造成的

这就是错误:

这是jquery调用:

Jquery

这是PHP代码:

PHP


请有人帮我解决这个问题。

我会给每个事件添加一个控件,例如一个动态GUID,然后可以用来保存到DB。通过这种方式,您可以在处理CalDAV协议时使用GUID,如果您选择使用日历,还可以确保数据库中没有偶然复制的内容


现在,请记住,这只是一个补丁,而不是修复程序。因此,找到一种方法来阻止多次尝试将事件添加到数据库中,这对您自己有很大好处。无论您是否成功地找到了bug,使用控制机制或唯一标识符都是一个好主意。

在插入查询之前,您应该检查是否已为特定的star插入了事件,并检查开发人员控制台。检查“网络”选项卡,查看数据是否实际发送了多次。这将有助于确定是客户端代码还是其他代码。您必须解除单击操作的绑定,否则它将保留在dom中。$'evesav'”解除绑定单击;我不确定这是不是真的,但我有一个类似的问题,有一次我读到了关于堆栈溢出的类似答案。只需谷歌复制ajaxsubmission@r3wt我试过了,但没有help@winnyboy5您的代码是否在提交所有事件时添加了一个新条目,即在10日添加了a,然后在11日添加了b?在这种情况下,您必须检查start和end的事件是否已经存在,类似于Ajax提交的事件
$('#evesav').bind('click',function(){

   $('#evesav').attr('disabled','disabled');
   var title = $('#evename').val();
   var edes = $('#evedes').val();
   var everegion = $('#everegion').val();
   var eveserv = $('#eveserv').val();

   $.ajax({
   url: 'add_events.php',
   data: 'title='+ title+'&start='+ start +'&end='+ end +'&edes='+ edes +'&everegion='+     everegion +'&eveserv='+ eveserv,
   type: "POST",
   success: function(json) {
   $('#myModal').modal('hide');
   $('#alertcon').html(json);
   $('#alert').modal('show');      
   $('#evename').val("");
   $('#evedes').val("");
   $('#evesav').removeAttr('disabled');
   $('#calendar').fullCalendar( 'refetchEvents' );

   }
   });


   $('#calendar').fullCalendar( 'rerenderEvents' );

   });
 <?php

    if(($_POST['title'] && $_POST['start'] && $_POST['end'] && $_POST['edes'] &&           $_POST['everegion'] && $_POST['eveserv'])!= NULL)
    {
    // Values received via ajax
    $title = $_POST['title'];
    $start = $_POST['start'];
    $end = $_POST['end'];
    $edes = $_POST['edes'];
    $region = $_POST['everegion'];
    $server = $_POST['eveserv'];
    //echo $title."".$start."".$end."".$edes."".$region."".$server;
    // connection to the database
    include('includes/db.php');


    // insert the records
    $sql = "INSERT INTO evenement (title, start, end, edes, region, server) VALUES (:title, :start, :end, :edes, :region, :server)";
    $q = $bdd->prepare($sql);
    $q->execute(array(':title'=>$title, ':start'=>$start, ':end'=>$end, ':edes'=>$edes, ':region'=>$region, ':server'=>$server));
    if($q->execute(array(':title'=>$title, ':start'=>$start, ':end'=>$end, ':edes'=>$edes, ':region'=>$region, ':server'=>$server))){
var_dump($q->execute(array(':title'=>$title, ':start'=>$start, ':end'=>$end, ':edes'=>$edes, ':region'=>$region, ':server'=>$server)));
    }
    $eveid=$bdd->lastInsertId(); 


    // Get array of all source files
   $files = scandir("uploads/");
   // Identify directories
   $source = "uploads/";
   $destination = "evedata/".$eveid."/";
   mkdir("evedata/".$eveid);
   // Cycle through all source files
   foreach ($files as $file) {
   if (in_array($file, array(".",".."))) continue;
   // If we copied this successfully, mark it for deletion
   if (copy($source.$file, $destination.$file)) {
   $delete[] = $source.$file;
   }
   }
   // Delete all successfully-copied files
   foreach ($delete as $file) {
       unlink($file);
       }


       echo "Added Successfully";
       }
  else {
echo "Please Fill the data";
    }
    ?>