Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 981
от 19.08.2008, 11:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 439, Экспертов: 24
В номере:Вопросов: 1, Ответов: 3

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 141459: Добрый день ! У меня есть небольшая проблема. Заполняю форму для ввода , потом все падает в базу. Если нажимаю F5 то параметры падают в базу второй раз, и так сколько угодно раз )) Можно ли это как нибудь исправить ? ...

Вопрос № 141.459
Добрый день ! У меня есть небольшая проблема. Заполняю форму для ввода , потом все падает в базу. Если нажимаю F5 то параметры падают в базу второй раз, и так сколько угодно раз )) Можно ли это как нибудь исправить ?
Отправлен: 14.08.2008, 11:29
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Straight
Здравствуйте, Whiteman!
После занесения данных в базу нужно сделать редирект на другую страницу, на которой будет сообщение об успешной отправке:
header('location: ok.htm');

Нажатие F5 уже на этой странице к повторному добавлению приводить не будет, т.к. это уже совсем другая страница.

PS. Не забудьте, что скрипт, производящий запись данных, ничего выводить не должен. Он - только для записи данных.
Ответ отправил: Straight (статус: Практикант)
Ответ отправлен: 14.08.2008, 11:43
Оценка за ответ: 5
Комментарий оценки:
Ок. спс !

Отвечает: Герасимов Виталий Владиславови
Здравствуйте, Whiteman!
я делаю так
сначало идет форма заполнения
<form name='form1' method='post' action='?save=ok'>

//ваша форма

</form>

//далее

<p>
<label>
<input type='submit' name='submit' id='submit' value='Занести в базу'>
</label>
</p>

<?php
if ($_POST['submit']) {
//Здесь запросы к базе на изменение или добавление
echo "<script language='JavaScript'>
bName=navigator.appName;
if(bName=='Netscape')

window.location='?';

else

window.location ='?';
</script>"; //Редиркет на начальную страницу. тем самым при обновлении нечего не случится
}
---------
От работы кони дохнут, сисОдмин не человег О_о Он Бог!
Ответ отправил: Герасимов Виталий Владиславови (статус: 2-ой класс)
Ответ отправлен: 14.08.2008, 12:30

Отвечает: Пахолюк Артем Владимирович
Здравствуйте, Whiteman!
Дело в том что при обновлении все переданные в через форму данные передаются повторно. Чтобы этого избежать надо сравнить вводимые данные с последней записью или со всеми записями из базы. Так же можно присвоить каждой записи уникальный ID.
Ответ отправил: Пахолюк Артем Владимирович (статус: 1-ый класс)
Ответ отправлен: 15.08.2008, 14:51


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.1 beta(win) от 11.08.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное