Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> гостевуха на одну страницу, не могу догнать как использовать header  
:(
    Опции темы
JORDAN
Дата 1.5.2008, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Сразу говорю - я только учусь, так что ногами не бить. Сканировал форум часа три, думал найти ответ сам...
Короче идея простая: пишу гостевуху одним файлом, без БД. Проблема - вывести что-то вроде "Сообщение добавлено", а потом переадресовать на главную (ну с 2-хсекундной задержкой скажем). Но до header ничего выводить нельзя. 
Поэтому пока остановился на 

die("<script language='JavaScript'>window.location='index.php'</script>"); 

но сообщения так не выведешь, т.к. сразу вылетаю на index.php.

Заранее благодарю за дельные советы.

PM MAIL   Вверх
Feldmarschall
Дата 1.5.2008, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Ну, во-первых, все поголовно гостевые после добавления выводят не на главную, а на список сообщений. И человек видит свое сообщение - то есть, ему не нужно писать бессмысленных, по сути, фраз.
Это я считаю наиболее адекватным решением. 
а в яваскрипте есть средства задержки выполнения скрипта.
PM   Вверх
JORDAN
Дата 1.5.2008, 20:12 (ссылка)  | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Спасибо за критику конечно. Но по делу ничего конкретного.
Главная и имелась ввиду главная гостевой со списком сообщений.О бессмысленности данной задачи позволь мне самому решать. 
И просьба у кого нет конкретных предложений - ну не тратьте свое и мое время на всякий флуд. 
Если есть средства - то какие, а так... И интересно было бы решение чисто на пхп. Хотя и java тоже пишите (просто с java мало знаком). 
PM MAIL   Вверх
Feldmarschall
Дата 1.5.2008, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Жесть.
Кто-нибудь ещё здесь критику видит? =)

Добавлено через 4 минуты и 23 секунды
JORDAN, если хочется критики, то в качестве совета: мне кажется, что брать такой капризный тон с первых же сообщений на форуме - не лучшая идея.
PM   Вверх
Fortop
Дата 1.5.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



JORDAN
Тебе нужен переход на другую страницу через несколько секунд?
А по темам ты внимательно искал?

переход через несколько секунд


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Azalis
Дата 1.5.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 16.3.2006
Где: Internet

Репутация: нет
Всего: нет



Вопрос вообще говоря не по адресу, так как его скорее в JS нада...

А ответ примерно такой:
Код

<script language="javascript" type="text/javascript">
setInterval("top.location.href='{LOCATION}'",{TIMER});
</script>

Где:
{LOCATION} - Путь куда нада переносить
{TIMER} - Время через которое переносить

PM MAIL WWW ICQ Skype MSN   Вверх
JORDAN
Дата 2.5.2008, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Благодарю за ваши ответы. 
Feldmarschall, извини за тон, не хотел обидеть.
PM MAIL   Вверх
Feldmarschall
Дата 2.5.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Вообще-то, обидеть меня - задача не самая тривиальная ;-)

Добавлено через 4 минуты и 24 секунды
Недостаток всех методов с задержкой состоит в том, что они не выполняют главную функцию редиректа - защиту от повторного сабмита.
То есть, по-хорошему, надо сначала делать редирект нормальным локейшеном, который уже, при желании, может вести на страницу с двухсекундным сообщением.
PM   Вверх
JORDAN
Дата 2.5.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Если можно, то на примере покажи.
И можно ли такое сделать в одном файле? В принципе для меня не так важно сколько файлов, но если можно одним без особых ухищрений и извращений то хотелось бы освоить.
А с location я не раздуплил как сделать. Ведь перед ним ничего нельзя выводить (типа Сообщение добавлено успешно).
Выше приведенные методы кстати работали как-то криво. Основная идея была, чтобы форма пропадала после ввода данных, и выводилась надпись "". Так вот  при использовании

<script language="javascript" type="text/javascript">
setInterval("top.location.href='{LOCATION}'",{TIMER});
</script>

просто была задержка, а переадресации вообще не было.

То же с МЕТА.

Нашел такую фишку

<script language='Javascript'>function reload() {location = 'index.php'}; setTimeout('reload()', 1500);</script>
 
переадресацию делает, но форма остается, а надпись выскакивает ниже формы.

Выходит проще всего обработчик вынести в отдельный файл...
PM MAIL   Вверх
Feldmarschall
Дата 2.5.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Непонятно, какие претензии к форме и надписи.
они выводятся там, где ты их сам выводишь.
если надпись выводится ниже формы - значит, в твоем скрипте она прописана ниже формы. тебе нужен дядя с форума, чтобы подсказать поменять их местами?
чтобы ничего не не выводилось после надписи, есть оператор exit

Это сообщение отредактировал(а) Feldmarschall - 2.5.2008, 12:13
PM   Вверх
NNaarreekk
Дата 2.5.2008, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Вот так тоже красиво получаетсяsmile
Код

if($x='add' && empty($_SESSION['xxx'])){
.....
....
$_SESSION['xxx']=1;
header("Location: index.php?x=$x");
}
if($x='add' && !empty($_SESSION['xxx']){
echo"OK";
$_SESSION['xxx']=0;
}


Я лично так делаю!
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0959 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.