![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
JORDAN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.4.2008 Репутация: нет Всего: нет |
Сразу говорю - я только учусь, так что ногами не бить. Сканировал форум часа три, думал найти ответ сам...
Короче идея простая: пишу гостевуху одним файлом, без БД. Проблема - вывести что-то вроде "Сообщение добавлено", а потом переадресовать на главную (ну с 2-хсекундной задержкой скажем). Но до header ничего выводить нельзя. Поэтому пока остановился на die("<script language='JavaScript'>window.location='index.php'</script>"); но сообщения так не выведешь, т.к. сразу вылетаю на index.php. Заранее благодарю за дельные советы. |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Ну, во-первых, все поголовно гостевые после добавления выводят не на главную, а на список сообщений. И человек видит свое сообщение - то есть, ему не нужно писать бессмысленных, по сути, фраз.
Это я считаю наиболее адекватным решением. а в яваскрипте есть средства задержки выполнения скрипта. |
|||
|
||||
JORDAN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.4.2008 Репутация: нет Всего: нет |
Спасибо за критику конечно. Но по делу ничего конкретного.
Главная и имелась ввиду главная гостевой со списком сообщений.О бессмысленности данной задачи позволь мне самому решать. И просьба у кого нет конкретных предложений - ну не тратьте свое и мое время на всякий флуд. Если есть средства - то какие, а так... И интересно было бы решение чисто на пхп. Хотя и java тоже пишите (просто с java мало знаком). |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Жесть.
Кто-нибудь ещё здесь критику видит? =) Добавлено через 4 минуты и 23 секунды JORDAN, если хочется критики, то в качестве совета: мне кажется, что брать такой капризный тон с первых же сообщений на форуме - не лучшая идея. |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
JORDAN,
Тебе нужен переход на другую страницу через несколько секунд? А по темам ты внимательно искал? переход через несколько секунд -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
Azalis |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 16.3.2006 Где: Internet Репутация: нет Всего: нет |
Вопрос вообще говоря не по адресу, так как его скорее в JS нада...
А ответ примерно такой:
Где: {LOCATION} - Путь куда нада переносить {TIMER} - Время через которое переносить |
|||
|
||||
JORDAN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.4.2008 Репутация: нет Всего: нет |
Благодарю за ваши ответы.
Feldmarschall, извини за тон, не хотел обидеть. |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Вообще-то, обидеть меня - задача не самая тривиальная ;-)
Добавлено через 4 минуты и 24 секунды Недостаток всех методов с задержкой состоит в том, что они не выполняют главную функцию редиректа - защиту от повторного сабмита. То есть, по-хорошему, надо сначала делать редирект нормальным локейшеном, который уже, при желании, может вести на страницу с двухсекундным сообщением. |
|||
|
||||
JORDAN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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> переадресацию делает, но форма остается, а надпись выскакивает ниже формы. Выходит проще всего обработчик вынести в отдельный файл... |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Непонятно, какие претензии к форме и надписи.
они выводятся там, где ты их сам выводишь. если надпись выводится ниже формы - значит, в твоем скрипте она прописана ниже формы. тебе нужен дядя с форума, чтобы подсказать поменять их местами? чтобы ничего не не выводилось после надписи, есть оператор exit Это сообщение отредактировал(а) Feldmarschall - 2.5.2008, 12:13 |
|||
|
||||
NNaarreekk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 768 Регистрация: 23.6.2007 Где: Армения Репутация: 0 Всего: 3 |
Вот так тоже красиво получается
![]()
Я лично так делаю! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |