Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Объявления о найме специалистов > Активация и деактивация ссылки


Автор: Angel333 1.7.2013, 04:44
Может опять ошибся разделом, но ищу программера у которого хочу заказать скрипт следующего характера – ссылка, которая при нажатии открывает под ней форму (условно назовем ее обратная связь) с двумя полями, в которых нужно ввести свое имя и email, под этими полями кнопка submit, при нажатии по которой ссылка, которая открыла обратную связь становиться неактивной (некликабельной). Эта форма уже есть в наличии. Обратная связь должна быть привязана к таймеру, который отсчитывает время на сервере (не системное время на компьютере пользователя). Этот таймер не  должен быть виден на страничке, просто привязан к серверному времени. Его смысл в том, что он делает вышеупомянутую ссылку активной в определенное время по серверу, например в час дня и по истечении определенного времени, например 10-и часов, если ни кто так и не воспользовался обратной связью, сам делает ссылку не активной. А на следующий день в час дня снова делает ссылку активной и так по кругу. Так же должна быть возможность вручную делать ссылку активной или неактивной в любое время. 

Может, звучит немного закручено, но кого заинтересовало данное предложение могу в личной беседе более понятно в скриншотах разжевать, по почте, по скайпу, кому как удобно.

P.S. Создавал тему в ветке PHP, но меня отправили в JavaScript, хотя для реализации привязки к серверному времени явно нужен php

Автор: ksnk 1.7.2013, 09:30
Цитата(Angel333 @  1.7.2013,  04:44 Найти цитируемый пост)
меня отправили в JavaScript, хотя для реализации привязки к серверному времени явно нужен php 

Зато для всего остального, кроме отсылки формы, нужен Javascript.
Цитата(Angel333 @  1.7.2013,  04:44 Найти цитируемый пост)
Так же должна быть возможность вручную делать ссылку активной или неактивной в любое время. 

Что значит эта фраза? Админ из своей админки говорит - "Шлите мне письма с часу до 10 каждый день, но не сегодня и завтра"?

Автор: Arantir 1.7.2013, 10:10
Цитата(Angel333 @  1.7.2013,  03:44 Найти цитируемый пост)
Его смысл в том, что он делает вышеупомянутую ссылку активной в определенное время по серверу, например в час дня и по истечении определенного времени, например 10-и часов, если ни кто так и не воспользовался обратной связью, сам делает ссылку не активной.
То есть, это нормально - держать страницу обратной связи открытой 10 часов подряд?
Цитата(Angel333 @  1.7.2013,  03:44 Найти цитируемый пост)
А на следующий день в час дня снова делает ссылку активной и так по кругу.
То есть, вообще сутками надо глядеть в эту форму, ничего не отсылая на сервер?

Поэтому Вас и отправляют из одного раздела в другой по кругу.

Вы, пожалуйста, определитесь, кто, что и где должно эту ссылку активировать: прямо на странице, при генерации страницы или еще как-нибудь.

Опишите последовательность своих действий, как пользователя, и то, что бы Вы хотели получить/увидеть в результате этих действий.

Автор: akizelokro 1.7.2013, 21:27
алгоритм:
-периодический запрос к php-шному скрипту, тот (тоже должен просто писаться) возвращает текущее серверное время (так как может быть изменено и находиться в другой временной зоне, или .. непонятно).
-кнопки делаются неактивными (предполагается, что доступ к обработке формы есть)или активными по доситжении определенного времени.
-кроме этого добавить ещё одну кнопку, по нажатию на которую, то делать форму действующей, то нет.



Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//object-id51d0df236ccc19e429000002#findElement_E7045_51d1ca036ccc19fb33002ec4_0

Автор: Angel333 1.7.2013, 23:07
Видимо не достаточно понятно описал задание. Постараюсь объяснить на примере.

Например, на сайте продается ведро, а с 10:00 до 14:00 на это ведро проводится бонусная продажа (кто первый его купит, тот получит в подарок кастрюлю). Кнопка бонуса до 10:00 неактивна, но она видна на странице, чтобы пользователь мог узнать про этот бонус. С наступлением наших заветных 10:00, кнопка бонуса становится активна. Первый кто ее нажал и отправил свои данные в форме, которая появились при нажатии на кнопку бонуса, получает в подарок к купленному ведру еще и кастрюлю. Та же кнопка бонуса становится вновь неактивна, так как за один день дарить больше одной кастрюли слишком жирно. Но если с 10:00 до 14:00 ни кто так и не воспользовался бонусом, тогда после 14:00 кнопка бонуса становится просто неактивной, а наследующий день в 10:00 бонус опят активен. Время, по которому кнопка становится активной и неактивной, должно быть не клиентское, а серверное.

Автор: akizelokro 2.7.2013, 00:00
И снова неправильное объяснение. 
Есть задержка на таймаут запуска функции, которая будет отправлять ajax-запрос на сервер для определения времени. Есть время доставки ajax-запроса на сервер и возврата результата от php-скрипта. То есть, в любом случае клиентское время не будет совпадать с серверным (которое должно быть желательно близко 10:00 и 14:00, конечно же), хоть и разница незначительна в этом случае.
Если же вы говорите про разницу в часовых поясах, это несколько совсем другое. Определяйтесь.

Вообще, и в том, и в этом случае работы на час, грубо говоря. Особенно, если есть нарезка вида неактивной кнопки или картинки вместо кнопки.

Но и тут сразу предупрежу. Я могу на месте вашего посетителя поставить точку прерывания в отладчике на коде скрипта и кнопка будет круглосуточно активной). Или сделать её активной с помощью плагина браузера в любое удобное мне время. Так что эти случаи вам надо предусмотреть на стороне сервера (дополнительная проверка). А за час работы я и ввязываться не буду.
А вообще, и javascript-программерам надо владеть php хотя бы даже в зачаточном состоянии, так и обратно. Но тут вопрос, что работа требует мало времени и стоит меньше, чем время, которое я вам это пишу.

Автор: Arantir 2.7.2013, 04:05
Зачаем все всегда усложняют себе жизнь...

Сделать форму. Написать большими буквами "акция с 10:00 до 14:00". 
На серере при генерации страницы выдавать код активной кнопки с 10:00 до 14:00 и код неактивной в остальное время.
При получении запроса с формой проверить время. С 10:00 до 14:00 обрабатывать. В остально вермя выводить "извините, акция проводится только с 10:00 до 14:00 по <нужный_город>скому времени"
Вот и все.

Пользователи — не овощи. Если он откроет форму в 13:59 и попытается отправить форму через 2 минуты, то совершенно адекватно отреагирует на сообщение, что акция закончилась. Для полной уверенности еще можно сбоку от времени прицепить "Сейчас ЧЧ:ММ", чтобы не огорчать пользователя отставанием его часов на пару минут.

Для начала можно сделать хотя бы это. Решение вполне адекватное и надежное. А уже потом тратить кучу времени на отключение кнопочки в реальном времени через JavaScript. 
Проводить проверку на стороне сервера придется в любом случае. Так почему бы не сделать сначала серверный вариант, а потом уж добавить финтиклюшек.

Вставить на сервер пару новых строчек вроде:
Код

$hour = date('H');
if (10 < $hour  && $hour < 14) {
//...
} else {
//...
}
совершенно ничего не стоит. Зато, так сказать, здесь и сейчас.

Автор: marioadm 6.5.2014, 02:16
пишите в ЛС, исходник подобной формы вышлю даром. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)