MySQL повторить удалить автономно

У меня действительно раздражающая проблема с системой баз данных, которую я строю. Это довольно сложно объяснить, но я попробую.
Система для документирования ремонта в мастерской.
Это сборка с использованием PHP, MySQL, Javascript и Jquery.
Работа на Synology DS212 + с DSM 5.1
У меня есть 3 файла в вопросе:

vr_edit.php
vr_edit_save.php
vr_edit_cancel.php

При запуске отчета этот файл генерирует новую запись:

vr_edit.php?edit=new
$sth = $conn->prepare($sql_str);
$sth->execute($dataArr);
$vrnr = $conn->lastInsertId();
header("Location: ".$goto);

и перенаправляет браузер на:

vr_edit.php?edit=45000

Затем vr_edit читает запись и показывает форму для ее редактирования. Это отправляется в vr_edit_save, который, очевидно, сохраняет данные.

В форме редактирования вы можете отменить отчет:

<button style="width: 165px; margin-top: 8px;" type="button" id="anullerknap" onclick="location.href=('vr_edit_cancel.php?vrnr=46008&setid=46008&cancelReturn=%2FVR3000-TEST%2Findex.php'); return false;"><u>A</u>nullér</button>

vr_edit_cancel.php:

$sql_str = "DELETE FROM `v_rapporter` WHERE vrnr = ".$vrnr." AND status = 'oprettet' LIMIT 1";
$sth = $conn->prepare($sql_str);
$sth->execute();
$sql_str = "ALTER TABLE `v_rapporter` AUTO_INCREMENT = 1;";
$sth = $conn->prepare($sql_str);
$sth->execute();
unset($sth);
unset($sql_str);
unset($conn);
header("Location: ".$goTo);//This points to old location before creating new record

Все это работает хорошо, но теперь проблема вступает в силу. Когда я создаю новый отчет после того, как я его удалил. Он получает тот же идентификатор (vrnr), что и удаленный, и это нормально, так и должно быть.
Но неожиданно он снова удаляет запись без вызова скрипта. И это как бы совершенно случайно. Иногда это происходит через несколько секунд, иногда через минуту, а иногда и вовсе.

Я усердно работал над решением, но безрезультатно.
Я сделал систему регистрации, основанную на файлах и базу данных. Но когда я включаю систему регистрации, ошибка волшебным образом исчезает.

Я потерялся в этом, кто-нибудь может мне помочь?

0

Решение

Решением этой проблемы было использование POST вместо GET, как предложено @jeroen в комментариях.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]