Заканчиваю писать носвостную ленту... Как после записи из формы в MySQL передать управление на обновление страницы, чтобы сразу после нажатия кнопки новая запись сразу появилась на экране?
>Заканчиваю писать носвостную ленту... Как после записи из формы в MySQL передать
>управление на обновление страницы, чтобы сразу после нажатия кнопки новая запись
>сразу появилась на экране?а в чем собственно проблема??? ну в скрипте пиши сначала в БД а потом все выбирай и выводи на страницу... или поточнее задай вопрос.
>>Заканчиваю писать носвостную ленту... Как после записи из формы в MySQL передать
>>управление на обновление страницы, чтобы сразу после нажатия кнопки новая запись
>>сразу появилась на экране?
>
>а в чем собственно проблема??? ну в скрипте пиши сначала в БД
>а потом все выбирай и выводи на страницу... или поточнее задай
>вопрос.if($ENV{REQUEST_METHOD} eq 'GET'){
вывод новостей
}
if($ENV{REQUEST_METHOD} eq 'POST'){
сохранение данных
print redirect("/cgi-bin/news.pl");
}
>>а в чем собственно проблема??? ну в скрипте пиши сначала в БД
>>а потом все выбирай и выводи на страницу... или поточнее задай
>>вопрос.
У меня сделано так:
---------------------------------
вывод новостей в таблицу (в PHP)
---------------------------------
Форма для заполнения (в HTML)
---------------------------------
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{ #запись в базу };
Вот после этого дела нужно вернуться снова к выводу новостей.
>if($ENV{REQUEST_METHOD} eq 'GET'){
> вывод новостей
>}
>if($ENV{REQUEST_METHOD} eq 'POST'){
> сохранение данных
> print redirect("/cgi-bin/news.pl");
А это что такое? во всяком случае у меня такой функции нет в описаниях.
Да и ПХП ругается на Undefined function....
>>>а в чем собственно проблема??? ну в скрипте пиши сначала в БД
>>>а потом все выбирай и выводи на страницу... или поточнее задай
>>>вопрос.
>У меня сделано так:
>---------------------------------
>вывод новостей в таблицу (в PHP)
>---------------------------------
>Форма для заполнения (в HTML)
>---------------------------------
>if ($_SERVER['REQUEST_METHOD'] == 'POST')
> { #запись в базу };
>Вот после этого дела нужно вернуться снова к выводу новостей.
>
>
>>if($ENV{REQUEST_METHOD} eq 'GET'){
>> вывод новостей
>>}
>>if($ENV{REQUEST_METHOD} eq 'POST'){
>> сохранение данных
>> print redirect("/cgi-bin/news.pl");
>А это что такое? во всяком случае у меня такой функции нет
>в описаниях.
>Да и ПХП ругается на Undefined function....
>
>
Для PHP используй header("Location: /cgi-bin/news.pl\n\n");
1. Sohranjay v bazu pered vivodom2. Sozday peremennuju $r = md5(time());
3. I v action formi dobavj eyo dlja peredachi GET metodom
<form action="TVOYscript.php?ref=$r">Ili zhe stavj no-cache v header`e html
if($ENV{REQUEST_METHOD} eq 'GET'){
вывод новостей
}
if($ENV{REQUEST_METHOD} eq 'POST'){
сохранение данных
print redirect("/cgi-bin/news.pl");
}Это на перле, а вот как это выглядит на PHP:
if (strcmp($_SERVER["REQUEST_METHOD"], "GET") {
вывод новостей
}
if (strcmp($_SERVER["REQUEST_METHOD"], "POST") {
сохранение данных
header("Location: /cgi-bin/news.php");
}
>Заканчиваю писать носвостную ленту... Как после записи из формы в MySQL передать управление на обновление страницы, чтобы сразу после нажатия кнопки новая запись сразу появилась на экране?Я на этих делах в своё время много шишек набил. И пришёл в выводу, что скрипты нужно делать двух сортов:
1. только выдача данных клиенту, никакой записи в БД, такой скрипт можно вызывать сколько угодно раз подряд, в том числе, обновляя окошко браузера;
2. только запись в БД, никакого вывода на клиента, скрипт вызывается через формы из скриптов типа 1, делает своё чёрное дело :) и с помощью, как тут уже подсказывали, header("Location: $backlocation") передаёт управление вызвавшему его скрипту, естественно, последний должен передавать параметр $backlocation с указанием на себя любимого.
Уже в нескольких проектах опробовал эту схему - результатом доволен.
А если на вызов header он ругается:
"Cannot modify header information - headers already sent by " - что тогда?
> А если на вызов header он ругается:
>"Cannot modify header information - headers already sent by " - что тогда?Угу, видал такое. Бывает, когда скрипт второго типа что-то всё-таки выводит клиенту. Это единственная причина преждевременной отправки http-заголовков. Если такое вылетает - ищите, нет ли в скрипте вызовов echo и иже с ним, нет ли чего-нибудь за пределами тегов <?php ?>.
Кстати, других сообщений об ошибках не появляется?
>Заканчиваю писать носвостную ленту... Как после записи из формы в MySQL передать
>управление на обновление страницы, чтобы сразу после нажатия кнопки новая запись
>сразу появилась на экране?
Если на стороне сервера не получается, реши проблему на стороне клиента, через JavaScript