Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как удалять данные из суперглобальных массивов?
 
 автор: Konst   (21.07.2005 в 13:11)   письмо автору
 
 

Добавляю пустые записи в MySQL при помощи формы методом POST, ACTION формы ссылается на этот же файл где и выводится изначально эта форма. В текстовое поле ввожу кол-во небоходимых записей, Submit и все добавляется. Все просто, все работает. Вопрос в следующем. При обновлении браузера (REFRESH) в базу данных добавляется такое же кол-во записей, какое и было указано в последний раз, что меня как раз и не устраивает.

Можно ли как-то после добавления записей в базу данных удалять значения об их числе из суперглобального массива $_POST? Или можно решить эту проблему каким-либо другим способом?

   
 
 автор: cheops   (21.07.2005 в 13:28)   письмо автору
 
   для: Konst   (21.07.2005 в 13:11)
 

Для этого сразу после добавления записей в базу данных необходимо перезагрузить страницу, например при помощи кода
<?php
    
echo "<HTML><HEAD>
            <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.phpt'>
            </HEAD></HTML>"
;
?>

Это приведёт к сбросу POST-данных.

   
 
 автор: Konst   (21.07.2005 в 13:46)   письмо автору
 
   для: cheops   (21.07.2005 в 13:28)
 

Я поместил код
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=имя_файла>
в <HEAD> этой странички, и она стала постоянно обновляться. Или его нужно запускать только один раз, при нажатии Submit, например, да?

   
 
 автор: Loki   (21.07.2005 в 13:51)   письмо автору
 
   для: Konst   (21.07.2005 в 13:46)
 

Этот код надо вставить только после добавления в базу. А данные в базу должны добавляться только если они переданы.

   
 
 автор: Konst   (21.07.2005 в 13:52)   письмо автору
 
   для: Konst   (21.07.2005 в 13:46)
 

Я добавил между <HEAD></HEAD>
<? IF (isset($_POST['submit'])) { $refresh="<META HTTP-EQUIV='Refresh' CONTENT='0; URL=rubrikator_edit.html'>";
ECHO 
"$refresh"; } ?>
, вроде все работает, спасибо! )))

   
 
 автор: Konst   (21.07.2005 в 14:00)   письмо автору
 
   для: cheops   (21.07.2005 в 13:28)
 

А можно было эту проблему решить с помощью
HEADER ("Location: имя_файла");
??? И если да то какой метод лучше?

   
 
 автор: cheops   (21.07.2005 в 14:09)   письмо автору
 
   для: Konst   (21.07.2005 в 14:00)
 

Можно и через header(), разница не большая - здесь будет послан просто залоговок, а в первом случае браузер интерпретирует редирект из кода. С header() у многих проблемы, так как большой соблазн отправить что-нибудь в браузер вперёд заголовков, а с буфферами не многие хотят иметь дело, META-тэги позволяют избежать всех этих проблем.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования