Повтор запросов к базе и следствие дублирование записей в таблице
Здравствуйте. Подскажите пожалуйста в чем проблема.
Вот такой вот код: function saveRow(){ var data = {}; var model = jQuery("#tInputTasksIT").getGridParam("colModel"); for (var i in model){ if(jQuery("input:text#e" + model[i].name).length>0){ data[model[i].name] = jQuery.trim(jQuery("input:text#e" + model[i].name).val()); } if(jQuery("input:checkbox#e" + model[i].name).length>0){ data[model[i].name] = jQuery("input:checkbox#e" + model[i].name).attr("checked") ? 1 : 0; } if(jQuery("textarea#txt" + model[i].name).length>0){ data[model[i].name] = jQuery.trim(jQuery("textarea#txt" + model[i].name).val()); } } var id = jQuery("#tInputTasksIT").getGridParam("selrow"); if(id){ if(!jQuery("#tInputTasksIT").jqGrid('setRowData', id, data)) alert("Не удалось сохранить данные"); data.oper = "edit"; data.id = id; } else data.oper = "add"; jQuery.post('/content/inputtasks/inputtasksdata.php', data); } Формируется массив с данными, отправляется для добавления в базу. Операция add. PHP код: if($operation=='add'){ $names = null; $values = null; foreach ($fvalues as $fvalue){ $names .= (isset($names) ? ', ' : '') . $fvalue['name']; $values .= (isset($values) ? ', ' : '') . $fvalue['value']; } $sql = 'INSERT INTO `' . CONF::$PROJECTMANAGER_DB_NAME . '`.`' . CONF::$PROJECTMANAGER_PROJECTS_TABLE_NAME . "` ($names) VALUES ($values)"; // $log->WriteLogMessage($sql); } Ну это отрывок только собственно где добавление происходит. Так вот проблема в том что js запрос к базе jQuery.post('/content/inputtasks/inputtasksdata.php', data);дублируется ровно 4 раза!!! В базу добавляется 4 записи!! Причем по моему только в опере. Мозила нормально реагирует. И на тестовой машине все было ок. Как выложили на сервак начались глюки((( Подскажите в чем может быть проблема. |
попробуй в сессию сохранить
при добавлении вызываем $_SESSION['data_'.CONF::$PROJECTMANAGER_DB_NAME]=$values; птом проверить просто if ($_SESSION['data_'.CONF::$PROJECTMANAGER_DB_NAME]!=$values) работаем else неработаем так как дублирование записи |
Часовой пояс GMT +3, время: 15:58. |