Вопрос № 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'>
<?php if ($_POST['submit']) { //Здесь запросы к базе на изменение или добавление echo "<script
language='JavaScript'> bName=navigator.appName; if(bName=='Netscape')
window.location='?';
else
window.location ='?'; </script>"; //Редиркет на начальную страницу. тем самым при обновлении нечего не случится }
--------- От работы кони дохнут, сисОдмин не человег О_о Он Бог!
Отвечает: Пахолюк Артем Владимирович
Здравствуйте, Whiteman! Дело в том что при обновлении все переданные в через форму данные передаются повторно. Чтобы этого избежать надо сравнить вводимые данные с последней записью или со всеми записями из базы. Так же можно присвоить каждой записи уникальный ID.