Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

Alert пробрасывается...

Обсуждение темы Alert пробрасывается... в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Народ, прошу совета. Есть страница login.php, предваряющая страницу с формой для опроса. На login.php вводятся имя и пароль юзверя, потом идет проверка и ...


Закрытая тема
 
Опции темы
Старый 10.10.2005, 15:41   #1
Народ, прошу совета. Есть страница login.php, предваряющая страницу с формой для опроса. На login.php вводятся имя и пароль юзверя, потом идет проверка и если он есть в таблице юзверей И его ответов нет в таблице ответов, то он допускается к странице опроса, иначе вываливается на главную. Так вот, перед изгнанием хотелось бы объяснить товарищу, почему его изгоняют. Делал так :

echo("<Script Language='JavaScript'>");
echo("alert('Ты уже отвечал, дружок!');");
echo("</Script>");
header("Location: ". $MM_redirectLoginFailed );

В этом случае сразу идет редирект, т.е. видимых следов работы alert-a нету. Без 4-й строки первые три отрабатывают на ура. Т.е. редирект пробрасывает алерт. Вопрос : как все же показать сообщение, а потом осуществить переход на новую страницу?
 
Старый 10.10.2005, 15:41
Ссылки
Старый 10.10.2005, 16:51   #2
А что, прям обязательно alert() юзать? В конце концов, сделайте редирект через JS после алерта.
 
Старый 10.10.2005, 16:52   #3
Сделай редирект средствами html.
 
Старый 11.10.2005, 10:08   #4
Leek, а как поступают гуру в таких случаях? Что юзать вместо алерта, ведь желательно иметь дружественный интерфейс.

Попробовал конструкцию вида
echo("<Script Language='JavaScript1.2'>");
echo("alert('Ты уже отвечал, дружок !');");
echo ("setTimeout('location.href=\"index.php\"',1);" );
echo("</Script>");

Пашет! Но - при выводе алерта фон страницы меняется на суровый белый цвет.
Дальше - больше. Решив, что пауза будет лишней, попробовал так:

echo("<Script Language='JavaScript1.2'>");
echo("alert('Ты уже отвечал, дружок !');");
echo ("location.href=\"index.php\";");
echo("</Script>");

...и опять следов работы фрагмента не увидел. Где грабли?
 
Старый 11.10.2005, 14:23   #5
Ezhov, правильно мыслишь, что делаешь не на PHP этот редирект!
Но не легче ли через HTML без всякого Alert()?
<meta http-equiv="Refresh" content="кол-во секунд; url=Адрес_редиректа">

ЗЫ: Такие вещи как ALERT() лично меня раздражают...
 
Старый 11.10.2005, 16:28   #6
egorix, так ведь это даст тот же эффект, что и header...
Фишка-то в том, чтобы не просто выбросить юзверя, а объяснить ему, чего он творит не так! Была уже мысль передавать get-ом некий флаг странице index.php, в ней проверять наличие флага и говорить\не говорить что-то.
Я недавно в веб-программерстве, пришел из Delphi+Firebird. Возможно, я не знаю вебовских правил хорошего тона, но ведь в любом языке\среде всегда приходится ориентироваться на конечного пользователя, не так ли?
Да, алерт раздражает, но тогда укажи адекватную замену для информирования юзверя.
Кстати, никто не сказал, почему не сработал исходный код...

ЗЫ Вдогонку - бросьте, пожалуйста, линки на тему взаимодействия HTML, JS и PHP.
 
Старый 11.10.2005, 20:49   #7
Цитата:
<meta http-equiv="Refresh" content="кол-во секунд; url=Адрес_редиректа">
Ezhov, а зачем тогда задавать количество секунд???

Читай внимательнее!
 
Старый 11.10.2005, 23:28   #8
Цитата:
echo("<Script Language='JavaScript1.2'>");
echo("alert('Ты уже отвечал, дружок !');");
echo ("location.href=\"index.php\";");
echo("</Script>");
Работает все.
Цитата:
пришел из Delphi+Firebird
Тогда все понятно. Если в обычной оконной среде alert() мог бы быть наиболее дружественным видом сообщения, в web проще вывести нормальное сообщение об ошибке, соответствующее всему интерфейсу (т.е. генерить его средствами HTML — это и будет максимально дружественно).
 
Старый 12.10.2005, 10:33   #9
Обошелся без алерта. Передаю в index.php через get флажок, а там через isset проверяю его существование. В зависимости от проверки формирую сообщение на странице. Так пойдет?
 
Старый 12.10.2005, 13:28   #10
Ezhov, приведённый тобой в первом посте код не сработал потому. что заголовки необходимо отправлять в браузер ДО того, как будет отправлен любой другой код (html, Java Script и др.) - вот и всё.
 
Старый 12.10.2005, 13:28
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить textarea не используя alert? Parker HTML, CSS, JavaScript 0 26.02.2011 11:48
JavaScript (alert, confirm) помогите пожалуйста! Kashmir HTML, CSS, JavaScript 2 25.02.2008 15:14
alert() seka ASP, Perl, PHP и MySQL 2 21.02.2005 15:11


Текущее время: 12:56. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум