|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.07.2011, 19:09 | #1 |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
Странное поведение PHP с MySQL..запись в базе дублируется после обновления страницы
Уважаемые программисты. Прошу Вас о помощи.Не знаю в чем дело.у меня есть страничка на php там форма данных отправляет данные в MySQL таблицу. все работает успешно, только с одним НО! если после добавления данных перезагрузить страницу, данные дублируются в базе и на самой странице. вот ссылка на саму страничку:http://stih.px6.ru
вот код страницы PHP код:
|
29.07.2011, 20:13 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
1. Для передачи значений формы используйте метод POST.
2. Вам бы желательно упорядочить ваш код по принципу "PHP-код сверху, HTML-вывод снизу" - т.е. обработка форм,cookies, запросы к БД - весь этот код должен быть вверху документа, а весь вывод в браузер - под ним. 3. Чтобы избежать повторной записи данных в БД - нужно после записи делать принудительный редирект на эту же страницу - это позволит очистить POST и GET. Сделать это можно при помощи функции header() - но до её вызова не должно быть никакого вывода в браузер(потому нужен п.2), либо при помощи javascript. |
29.07.2011, 20:25 | #3 |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
Спасио, все попробую!
|
29.07.2011, 20:30 | #4 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
|
|
29.07.2011, 20:37 | #5 |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
Все заработало!Спасибо большое!просто нужно было поменять метот GET на метод POST и массив изменить.
|
29.07.2011, 20:38 | #6 |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
а как его так выполнить?чтобы не передавать GET параметры.
|
29.07.2011, 20:47 | #7 |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
блин.. работает только на локальной машине.. а когда заливаю на серв(настройки подключения меняю), какой то сумбур.. форма ввода вообще пропадает после написания сообщения.. что за ерунда?
|
29.07.2011, 20:49 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Ну в вашем случае это будет просто header('Location: index.php');
Я имел ввиду, что в случае с GET вам не подойдет вариант с использованием $_SERVER['HTTP_REFERER'], т.к. там будет содержаться часть строки с данными (http://stih.px6.ru/index.php?name=_name&text=_text). |
29.07.2011, 20:54 | #9 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
PHP код:
|
|
29.07.2011, 20:56 | #10 |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
а без этого на локальной машине не работает..ну, так же сообщения дублируются..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
php поиск по базе Mysql | Dmitry1983 | PHP | 8 | 27.06.2011 18:01 |
Обновления после версии 4 PHP | Che Guevara | PHP | 1 | 27.07.2010 13:07 |
Странное поведение gets | alex_alpha | Общие вопросы C/C++ | 3 | 27.03.2010 18:21 |
Запрос к MySQL без обновления страницы | denisov | PHP | 3 | 02.03.2010 19:39 |
Странное поведение DLL | Yurk@ | Компоненты Delphi | 4 | 01.02.2009 01:23 |