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

Форум PHP

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

 

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

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

тема: Комментарии на одной странице
 
 автор: Kaje   (05.09.2009 в 11:46)   письмо автору
 
 

Снова прошу у вас совета.

Ситуация такая: Сделал на странице форму для добавления комментария и с помонью POST передаю текст комментария на этуже страницу. Вверху расположил функцию которая заносит комментарий в базу, если он есть конечно. Столкнулся с такой бедой, после добавления комментария обновляю страницу и он повторно добавляется. И так постоянно пока на другую страницу не уйду. Подскажите реально ли такое делать, или надо делать страницу обработчик?

  Ответить  
 
 автор: Trianon   (05.09.2009 в 12:55)   письмо автору
 
   для: Kaje   (05.09.2009 в 11:46)
 

реально.
Страница обработчиком быть не может по определению.
Обработчик - это скрипт - программа на языке php.
Страница - это результат работы скрипта(программы) . Этого или другого скрипта - несущественно.
Точнее, страница может быть получена (и в случае php почти всегда является полученной), как результат работы скрипта.

  Ответить  
 
 автор: Kaje   (05.09.2009 в 20:20)   письмо автору
 
   для: Trianon   (05.09.2009 в 12:55)
 

Мнебы узнать способ как можно опустошить переменные $_POST['comments'] и $_POST['id_guest']. Пытался прировнять нулю сразу после добавления либо unset() но всеравно эти штуки не могут одолеть могущественный refresh.
Знаю что подобное удобно делать на Ajax но желания не совпадает с возможностями.

  Ответить  
 
 автор: Trianon   (05.09.2009 в 20:37)   письмо автору
 
   для: Kaje   (05.09.2009 в 20:20)
 

>Мнебы узнать способ

Нет. Не способ.
Вам бы узнать принципы взаимодействия браузер-сервер.
Но Вы же ведь не хотите.


>как можно опустошить переменные

Любые переменные уничтожаются с последним исполненным оператором скрипта.
Именно по-этому нет смысла делать unset.
Если переменная возникла - значит значение из формы опять было серверу передано браузером.

  Ответить  
 
 автор: DEM   (05.09.2009 в 15:02)   письмо автору
 
   для: Kaje   (05.09.2009 в 11:46)
 

<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=адрес данной страницы">
этот код вставляете после того как выполнится скрипт (это HTML-тег, так что в РНР его надо помещать в echo)

  Ответить  
 
 автор: Николай2357   (05.09.2009 в 16:16)   письмо автору
 
   для: DEM   (05.09.2009 в 15:02)
 

Не надо так делать.

  Ответить  
 
 автор: mehelson   (05.09.2009 в 23:23)   письмо автору
 
   для: Николай2357   (05.09.2009 в 16:16)
 

>Не надо так делать.
А почему так не надо делать? Объясните!

  Ответить  
 
 автор: Николай2357   (05.09.2009 в 23:28)   письмо автору
 
   для: mehelson   (05.09.2009 в 23:23)
 

Kaje (05.09.2009 в 20:11)
>Не прокатывает такое дело. Страница безостановочно обновляется и комментарии летят как сумасшедшие.

  Ответить  
 
 автор: Kaje   (05.09.2009 в 20:11)   письмо автору
 
   для: DEM   (05.09.2009 в 15:02)
 

Не прокатывает такое дело. Страница безостановочно обновляется и комментарии летят как сумасшедшие.

  Ответить  
 
 автор: Kaje   (05.09.2009 в 20:26)   письмо автору
 
   для: Kaje   (05.09.2009 в 20:11)
 

Буду ждать от вас совета. А пока отстается надеятся что пользователя не будут обновлять страницу после добавления комментария.

  Ответить  
 
 автор: Вот случайно зашел   (05.09.2009 в 23:30)   письмо автору
 
   для: Kaje   (05.09.2009 в 20:26)
 

header("location: /");
exit;

  Ответить  
 
 автор: Николай2357   (05.09.2009 в 23:31)   письмо автору
 
   для: Вот случайно зашел   (05.09.2009 в 23:30)
 

Не выйдет.

  Ответить  
 
 автор: Вот случайно зашел   (05.09.2009 в 23:35)   письмо автору
 
   для: Николай2357   (05.09.2009 в 23:31)
 

Что не выйдет?

  Ответить  
 
 автор: Николай2357   (05.09.2009 в 23:37)   письмо автору
 
   для: Вот случайно зашел   (05.09.2009 в 23:35)
 

Сбросятся только первые переменные. Потом опять F5.

  Ответить  
 
 автор: Вот случайно зашел   (05.09.2009 в 23:39)   письмо автору
 
   для: Николай2357   (05.09.2009 в 23:37)
 

Какие первые переменные? Что за бред.

  Ответить  
 
 автор: Вот случайно зашел   (05.09.2009 в 23:44)   письмо автору
 
   для: Вот случайно зашел   (05.09.2009 в 23:39)
 

Автор похоже уже как два месяца бьётся над тем как сделать гостевую... Прискорбно...

  Ответить  
 
 автор: Kaje   (06.09.2009 в 11:24)   письмо автору
 
   для: Вот случайно зашел   (05.09.2009 в 23:44)
 

Какая гостевая. Яж говорю комментарии. Эх. Впервые вы мне нихто не помог. Возьму сегодня книжонку по Ajax и буду питать мозг.

  Ответить  
 
 автор: ride   (06.09.2009 в 11:33)   письмо автору
 
   для: Kaje   (06.09.2009 в 11:24)
 

как это не помог?
вам дали дельный совет: header("location: /");

  Ответить  
 
 автор: TetRiska   (07.09.2009 в 02:39)   письмо автору
 
   для: Kaje   (06.09.2009 в 11:24)
 

if(!empty($_POST['add'])) //проверка на наличие нажатия кнопки отправки сообщения
    {
    Запросец на вставку данных
    header("location: http://mysite.com"); 
      }

  Ответить  
 
 автор: Kaje   (07.09.2009 в 05:05)   письмо автору
 
   для: TetRiska   (07.09.2009 в 02:39)
 

Я сразу и не разглядел. Беру свои слова назад. Еще раз спосибо! Незнаю как но оно работает!!!

  Ответить  
 
 автор: serjinio   (07.09.2009 в 08:52)   письмо автору
 
   для: Kaje   (07.09.2009 в 05:05)
 

if($_POST['add']){}

exit('Всё отправленно ....');

  Ответить  
 
 автор: coloboc66   (07.09.2009 в 11:51)   письмо автору
 
   для: serjinio   (07.09.2009 в 08:52)
 

Да по-всякому можно делать. Можно, например, записать последнее сообщение в сессию и сравнивать его с вновь пришедшим. Если сообщения совпадают - завершать работу скрипта. Можно аналогично сравнивать значения переменных со значениями в базе...

  Ответить  
Rambler's Top100
вверх

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