PHP / многостраничный с загрузкой - PullRequest
0 голосов
/ 07 января 2012

Я построил многостраничную форму и 2 таблицы следующим образом:

Таблица1 - списки. Таблица2 - вложения.

Page1 - пользователь выбирает категорию page2 - выполняется запрос вставки MYSQL, который создает запись в таблице листингов. Пользователь вводит заголовок, описание, загружает вложение и нажимает кнопку «Отправить». Кнопка загрузки откроет страницу, которая позволяет пользователю загрузить вложение. Загрузка вложения приведет к загрузке файла и вставке записи в таблицу вложений.

page3 - выполняется запрос на обновление MYSQL для обновления записи списка заголовком и описанием.

Я знаю, что это не лучшая настройка, но у меня есть такой способ, потому что мне нужен номер записи из записи в списке, чтобы добавить к записи вложения. Все работает правильно. У меня проблема на странице 2. Если пользователь обновляет страницу, дубликаты записей вставляются в таблицу списков. Как я могу предотвратить повторное выполнение запроса INSERT при обновлении? Если вы считаете, что мне нужно изменить все настройки, я открыт для рекомендаций.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 января 2012

Определить сеанс на второй странице

<?php
    session_start();
    if(isset($_SESSION['flag'])!=1)
    {   
       mysql_query($query);
       $_SESSION['flag']='1';
    }
?>

ВАЖНО: не забудьте отменить сеанс на стр. 1

session_start();
session_unset();
0 голосов
/ 07 января 2012

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

...