Перейти к содержимому

Фото
- - - - -

Html Form


  • Вы не можете создать новую тему
  • Please log in to reply
6 ответов в этой теме

#1 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 14 апреля 2005 - 13:13

Dobrij Denj


Ja rehil obratitjcja sjuda po povodu svoej problemy, dumaju mozet kto-nibudj pomozit.

Delo vsjo v tom chto u menja estj "html form" na stranice i kogda nazimaju "submit" dannie zapisyvajutjcja v bazu dannih dlja ih posledujushego ispoljzovanija, no kogda ja nazimaju refresh oni zapisqvajutcja snova, t.e. te ze samie dannie, chto javljaetcja ne dopustimim v ramkah posledujushego ispoljzovanija dannih.

Kak reshitj etu problemu? Pleazzzzz. Mozet kto to chto posovetuet kakoj-nibudj istochnik.

Izvenjajus za bukvi angliskogo alfavita, no chto estj to estj.
  • 0

#2 Zero

Zero

    TRUST NO ONE

  • Постоялец
  • 10 668 сообщений
  • Откуда:Таллин

Отправлено 14 апреля 2005 - 13:22

может, потом базу просмотреть на предмет идентичных записей?
  • 0
Моя Родина - СССР! Пролетарии всех стран, соединяйтесь!
-----------------------------------------------------------------------
Ясность - одна из форм полного тумана. Форумчане, давайте жить дружно!

#3 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 14 апреля 2005 - 13:28

Если среди вводимых данных есть те, которые должны быть уникальными, то проверять эту уникальность на сервере, в том числе, в базе данных с помощью SQL.

Если таковых не имеется, то добавить. К примеру, генерировать (с помощью JavaScript) некий сессионный ключ, который в пределах одного ввода формы будет один и тот же. Далее проверять этот сессионный ключ на уникальность, как указано выше.
  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#4 goa

goa

    дизайнер и фотограф

  • Постоялец
  • 1 424 сообщений
  • Откуда:Tallinn

Отправлено 14 апреля 2005 - 14:06

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

например вставляешь вот это
<meta http-equiv="refresh" content="0; URL=http://www.goa.ee/book/"> не в ХЕАД а в БОДИ
туда пишешь адрес где просматриваются сообщения
  • 0
peregontsev.com

#5 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 14 апреля 2005 - 17:23

Всем спасибо. Проблема решена с помощью header("Location: xxx");
  • 0

#6 Nevermore

Nevermore
  • Пользователь
  • 18 сообщений
  • Откуда:Таллинн

Отправлено 15 апреля 2005 - 15:47

Dr. Ghost,
проблема не совсем решена ;-)
Осталась одна закавыка, которая редко, но случается:
редирект может не дойти до браузера, браузер может решить, что у него не получилось, и отправить данные заново, бывает всякое.

Чтоб повторных данных в базе никогда не появлялось, тебе нужно создать уникальный индекс, тогда при попытке вставить те же самые данные в таблицу mySQL начнёт злобно орать Duplicate entry for key ..., и не примет их.

Не знаешь как создать уникальный индекс? Спроси меня как ;-)
  • 0
When I’m God - everyone dies

#7 Мастер

Мастер

    Renegade

  • Пользователь
  • 559 сообщений
  • Откуда:Tallinn

Отправлено 15 апреля 2005 - 16:51

Писать данные в сессию и при повторном посте проверять на совпадение.
Вместо сессий можно запросами доставать нужную запись и проверять не повторный ли пост.
  • 0
дружу с паяльником...