|
|
|
| вот такой вопрос:
значит, существует запрос к бд
$querr = db_query($con, "insert into konkurs (clients, tipe, links, op, day, month, year, otv, rez) values ('".$_POST['clients']."', '".$_POST['tipe']."', '".$_POST['links']."', '".$_POST['op']."', '".$_POST['day']."', '".$_POST['month']."', '".$_POST['year']."', '".$_POST['otv']."', '".$_POST['rez']."')");
он записывает данные из переменных $clients, $tipe,$links ... в соответствующие поля в таблице clients, tipe, links..., но запись происходит не тока при нажатии на кнопку "записать", но и при заходе на страницу и при обновлениии (F5). Как это можно исправить? | |
|
|
|
|
|
|
|
для: chom
(23.08.2007 в 18:51)
| | попробуй перeнаправить с неё после запроса. Можно переменую в сесии завести, после первого запроса ставим 1, потом надо где-нибудь обнулить, тогда если переменная ноль делаем запрос, если 1 то не делаем. | |
|
|
|
|
|
|
|
для: chom
(23.08.2007 в 18:51)
| | ну да, или куку кинуть с определяющей переменной | |
|
|
|
|
|
|
|
для: aexb
(23.08.2007 в 19:18)
| | делай header | |
|
|
|
|
|
|
|
для: chom
(23.08.2007 в 18:51)
| | if (isset($_POST['имя_кнопки'])) {
$querr = db_query($con, "insert into konkurs (clients, tipe, links, op, day, month, year, otv, rez) values ('".$_POST['clients']."', '".$_POST['tipe']."', '".$_POST['links']."', '".$_POST['op']."', '".$_POST['day']."', '".$_POST['month']."', '".$_POST['year']."', '".$_POST['otv']."', '".$_POST['rez']."')");
}
Если кнопка была нажата, то выполнить запрос | |
|
|
|
|
|
|
|
для: minas
(24.08.2007 в 04:39)
| | Все равно при обновлении страницы (F5), данные ранее введенные в форму заносятся в базу, хотя формы пусты, а браузер говорит, что в формах находится информация и если обновить страницу то запрос повторится. Может есть какойто способ очистить формы? | |
|
|
|
|
|
|
|
для: chom
(24.08.2007 в 08:59)
| | Сделайте редирект на другую страницу, после запроса.
К примеру
Header("Location: insert_snx.php");
|
| |
|
|
|
|
|
|
|
для: Faraon
(24.08.2007 в 09:20)
| | Что значит редирект? Я понимаю это так, что после нажатия на кнопку "отправить" будет открыта другая страница.? | |
|
|
|
|
|
|
|
для: chom
(24.08.2007 в 09:29)
| | >что после нажатия на кнопку "отправить" будет открыта другая страница.?
Будет выполнен запрос, и переход на страницу благодарности или еще какую-нибудь | |
|
|
|
|
|
|
|
для: Faraon
(24.08.2007 в 09:34)
| | ок. а после нажатия на F5? | |
|
|
|
|
|
|
|
для: chom
(24.08.2007 в 09:44)
| | обновится только страница на которую был сделан редирект, сбросятся все переменные отправленные раньше, и повторного добавления в БД не будет | |
|
|
|
|
|
|
|
для: Faraon
(24.08.2007 в 09:48)
| | У меня страничка выглядит так: сверху формы для ввода информации в базу и кнопка, а снизу табличка в которой отображается вся информация из базы, т.е. при нажатии на кнопку отправить в табличке сразу появляется новая строка. Как можно сделать что бы не появлялась другая страница, или появлялась только на некоторое время, а потом снова возвращалась на страницу с таблицей? | |
|
|
|
|
|
|
|
для: chom
(24.08.2007 в 14:52)
| | Ну так и делайте редирект на эту же страницу
Отправленные переменные сбросятся
и при обновлении не будет повторной отправки данных | |
|
|
|
|
|
|
|
для: Faraon
(24.08.2007 в 15:08)
| | Спасибо, все отлично работает! =) Привел к такому виду:
if (!empty($_POST['boot'])) {
header("Location: http://int.ru/konkurs.php");
}
|
| |
|
|
|