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

Форум PHP

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

 

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

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

тема: Как збросить переданные параметры?
 
 автор: Karum   (12.03.2006 в 20:48)   письмо автору
 
 

Как збросить переданные параметры?
Вот делаю гостевую книгу и при передаче параметров gb.php?page=1
(передаю ПОСТ) добавляецца сообщение в БД, но если наживаешь рефреш, то они еще раз добавляються и т.д Короче как сделать так чтобы при нажатии рефреш еще раз сообщение не добавлялось?

(все энто происходит в одном файле)
Сенкс...

   
 
 автор: Sergey89   (12.03.2006 в 21:01)   письмо автору
 
   для: Karum   (12.03.2006 в 20:48)
 

После добавления принудительно обнови страницу.

header("Location:page.php")

   
 
 автор: Karum   (12.03.2006 в 21:13)   письмо автору
 
   для: Sergey89   (12.03.2006 в 21:01)
 

Пишу после занесения данных в БД

header("Location:http://localhost/gb.php?page=1");


Мне выводит

Cannot add header information - headers already sent by (output started at c:\www\html\gb.php:3) in c:\www\html\gb.php on line 44


Как его правильно прописать? Я уже пробовал этот вариант, но маттюкаецца...

   
 
 автор: Trianon   (12.03.2006 в 21:28)   письмо автору
 
   для: Karum   (12.03.2006 в 21:13)
 

Именно так. Просто до header() нельзя ничего писать в выходной поток. Даже <html>

   
 
 автор: Karum   (12.03.2006 в 22:03)   письмо автору
 
   для: Trianon   (12.03.2006 в 21:28)
 

Ну тогда так не получицца, есть еще какие-то варианты?

   
 
 автор: Евгений Петров   (12.03.2006 в 23:06)   письмо автору
 
   для: Karum   (12.03.2006 в 22:03)
 

Буферизируйте вывод в браузер:
В самом начале скрипта пишите:
<? ob_start(); ?>

А в самом конце
<?
  $buffer 
ob_get_contents();
  
ob_clean();
  echo 
$buffer;
?>

И тогда ошибки не будет

   
 
 автор: Karum   (13.03.2006 в 00:13)   письмо автору
 
   для: Евгений Петров   (12.03.2006 в 23:06)
 

Не работает оно (
А как это в гостевых книгах вообще организовано?

   
 
 автор: cheops   (13.03.2006 в 01:41)   письмо автору
 
   для: Karum   (13.03.2006 в 00:13)
 

Если не получается разобраться с буферизацией, можно воспользоваться переадресацией вида
<?php    echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
          </HEAD></HTML>"
;
?>

В ней не критичен предварительный вывод в окно браузера.

   
 
 автор: cyxapuk   (13.03.2006 в 08:52)   письмо автору
 
   для: Karum   (12.03.2006 в 20:48)
 

после INSERT
сделать

$q= "INSERT ....";
$result = mysql_query($q);

if($result) {

echo "<script>location.href='index.php'</script>":
exit();
}

   
 
 автор: Karum   (13.03.2006 в 10:18)   письмо автору
 
   для: cyxapuk   (13.03.2006 в 08:52)
 

О спасиба сухарик! Заработало! Я только хотел про JS спросить:)

   
 
 автор: Loki   (13.03.2006 в 10:40)   письмо автору
 
   для: Karum   (13.03.2006 в 10:18)
 

самый ненадежный способ из предложенных:)

   
 
 автор: elenaki   (13.03.2006 в 11:23)   письмо автору
 
   для: Loki   (13.03.2006 в 10:40)
 

самый приятный способ из предложенных :)
почему в ColdFusion можно написать location, а в PHP нельзя? :)

   
 
 автор: Trianon   (13.03.2006 в 11:40)   письмо автору
 
   для: elenaki   (13.03.2006 в 11:23)
 

Loki, я уверен, не нравится применение JS, там, где без него можно обойтись.
И не смотря на то, что у меня отношение к JS куда более толерантное, здесь я с ним полностью согласен.
Топор Окама. Незачем плодить ненужные сущности.

   
 
 автор: Loki   (13.03.2006 в 12:26)   письмо автору
 
   для: Trianon   (13.03.2006 в 11:40)
 

>Loki, я уверен, не нравится применение JS, там, где без него можно обойтись.
Да я этого и не скрываю: при всем потернциале JS, я его рассматриваю не более как забавную игрушку: ну куда годится код, который не будет работать у каждого десятого пользователя? Следовательно, надо либо дублировать код (для тех, у кого JS есть и для тех, у кого нет), либо избегать JS "на ключевых постах". Редирект, на мой взгляд, именно тот случай.

   
Rambler's Top100
вверх

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