Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 Как исключить повторный insert при обновлении страницы ?  [new]
Fine
Member

Откуда:
Сообщений: 532
Добрый день.
Есть страница index.php

echo "<form action='/forinsert.php' method='get'>";
echo "<input id='a1' type='hidden' name='a1' value=a1  size='11'>";
echo "<input id='b1' name='b1' type='edit' value='0' maxlength='5' size='4'>";
echo " <input type='submit' value='New day'></form>";


и forinsert.php
  $string=($_GET['a1']);
  $string1=($_GET['b1']);
  
$link = mysql_connect('127.0.0.1', 'user', 'pass');
mysql_select_db("aaa");

$s1="INSERT INTO `table` ( `a1`, `b1`) VALUES ('".$string."','".$string1."');";

$result = mysql_query($s1);
$result = include 'index.php'; 


После возврата на страницу index.php, после каждого обновления страницы index.php выполняется инсерт в таблицу.
Как исключить это ?
9 июл 19, 15:14    [21923500]     Ответить | Цитировать Сообщить модератору
 Re: Как исключить повторный insert при обновлении страницы ?  [new]
Fine
Member

Откуда:
Сообщений: 532
ответ нашел !
9 июл 19, 15:45    [21923535]     Ответить | Цитировать Сообщить модератору
 Re: Как исключить повторный insert при обновлении страницы ?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2404
Fine,

обычно метод GET используют чисто для отображения записи, а для добавления используют метод POST и потом редирект на метод GET, чтобы показать пользователю то, что действие успешно выполнено

за примером далеко ходить не надо, вы это можете наблюдать, когда публикуете новое сообщение на данном форуме :)
11 июл 19, 13:21    [21924849]     Ответить | Цитировать Сообщить модератору
 Re: Как исключить повторный insert при обновлении страницы ?  [new]
vkle
Member

Откуда: Самара
Сообщений: 14731
Дмитрий Мух,

Когда сервер или сеть будет работать медленно, а пользователь успеет побарабанить по кнопке несколько раз... В общем, запостить тоже можно многократно :)
11 июл 19, 14:09    [21924919]     Ответить | Цитировать Сообщить модератору
 Re: Как исключить повторный insert при обновлении страницы ?  [new]
OldMaster
Member

Откуда:
Сообщений: 38
vkle,
это если запрос выполняется асинхронно. Но тогда блокировать повторную отправку нужно на клиентской стороне.
11 июл 19, 19:49    [21925231]     Ответить | Цитировать Сообщить модератору
 Re: Как исключить повторный insert при обновлении страницы ?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2404
vkle
Дмитрий Мух,

Когда сервер или сеть будет работать медленно, а пользователь успеет побарабанить по кнопке несколько раз... В общем, запостить тоже можно многократно :)

Это уже другая проблема, имеющая не одно решение.
К "после каждого обновления страницы index.php выполняется инсерт в таблицу" она не относится.
12 июл 19, 12:54    [21925656]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить