Автор Тема: нужно написать небольшой скрипт - работу оплачу...  (Прочитано 7581 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Eugene2001

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 48
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
дравствуйте!


мне нужно написать небольшой скрипт...

принцип работы:
нужно чтобы скрипт при заходе на страницу, например, site.ru/forum/ определял - открыта (ы) ли у пользователя (в другом окне браузера) в данный момент страница (ы), например, site.ru/members/ и (или) site.ru/vip/...

если страница site.ru/members и (или) site.ru/vip в настоящей момент открыта (ы), то пользователю показывается содержимое site.ru/forum/, если в настощей момент страница (ы) site.ru/members/ и (или) site.ru/vip не открыта (ы) (или уже закрыта, -ы), то пользователю выдается страница с надписью "Форум только для членов клуба!"

определять открыта (ы) нужная страница (ы) site.ru/members и (или) site.ru/vip можно с помощью вставки нужного кода на страницу (ы)site.ru/members и site.ru/vip... (а если сможете без вставки этого кода на эту страницу, то это вообще было бы супер!)

также нужна панель управления для админа - добавление, удаление, изменение страниц, на которых нужно находиться... и выбор метода - чтобы пользователь одновременно находился на указанных страницах ИЛИ был на любой из них

могу оплатить показами TLE, RLE или деньгами (в разумных пределах)

сможете? сколько вам нужно времени?
сколько (и чего) вы за это хотите?

пишите мне на veb@zmail.ru

Евгений

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Пишу в мыло.

Оффлайн Eugene2001

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 48
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Дополнение:

админ-часть не обязательна, достаточно INI-файла, в котором все можно поправить в ручную...

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ну чего, скажите честно, кто знает как это сделать описанным методом? :)

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Цитировать
Ну чего, скажите честно, кто знает как это сделать описанным методом?

чего захотел:-). Те кто знает наверное уже пишут:-).
Хотя, если тебе интересно моё собачье мнение:-), то слушай:
вставить в мембер страничку явоскриптом куки, по событию онлоад, а по событию онклоуз затирать эти самые куки. Скриптом потом проверяешь есть куки, значит входит юзверь форум, нет куков - досвиданья.
Работать всё это будет глючно и не у всех:-).
Без яваскрипта здесь обойтись не удастся так как надо обязательно отлавливать сабытие на онклоуз.
Всё это только моё ИМХО.
Может кто получше придумает?
Ну к чему все это, лучше бы водки выпили...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
Ну чего, скажите честно, кто знает как это сделать описанным методом?
Это вопрос типа памощь зала?
Я мыслю как вариант функции "кто на сайте". Ставить метку и проверять каждую минуту (меньше сильно увеличит нагрузку при больших посещениях).
The documentations is your friend

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
glebushka
контакт :)
The documentations is your friend

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
glebushka
Я имел в виду именно описанным методом - проверка содержимого соседних окон :) Хотя и сам заню, что нельзя. Так, прикололся просто.
Сам я знаю вариант, когда страница просто подает голос о том, что еще жива серверу через промежутки времени.

Вариант с куками мне в голову не приходил даже. А как из JS установить/снять куку? Это точно возможно? Чего-то я в мануале этого не нашел. Можно пример?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Доктор
Цитировать
А как из JS установить/снять куку? Это точно возможно? Чего-то я в мануале этого не нашел. Можно пример?

А это уже ко мне в форум:

// cookies.js
// Derived from the Bill Dortch code at [url]http://www.hidaho.com/cookies/cookie.txt[/url]

var today = new Date();
var expiry = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000);

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) { endstr = document.cookie.length; }
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) {
return getCookieVal (j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

function DeleteCookie (name,path,domain) {
if (GetCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}

function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

А по поводу задания, то и куки и js можно обмануть (все таки на стороне клиента работают), а значит система будет ненадежной.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Цитировать
Сам я знаю вариант, когда страница просто подает голос о том, что еще жива серверу через промежутки времени.

А я не знаю...): Поделись?
Кстати мне сейчас в голову пришла мысль, как водится связана с фреймами:-).
Так воть, если загнать ту страничку (мемберлист) в фреймасет, один нулёвый - там будет запускаться скрипт, другой во весь экран - страничка мемберов. Далее ставим авторефреш нулёвого фрейма на предположим минута (можно и меньше). Через каждую минуту вызывается скрипт, записывающий текущее время, и IP, в файл и возращающий, чтобы ещё больше уменьшить трафик, 204 код. Воть. Идея ясна?
Извиняюсь что путано, а кто понял молодец:-).
Хотя это тоже не надёжно - юзерь может отключить и яву и мету, да и запустить скрипт без запуска страницы мемберов...
Ну к чему все это, лучше бы водки выпили...

Оффлайн ESE

  • Фанат
  • Постоялец
  • ***
  • Сообщений: 172
  • +0/-0
  • 2
    • Просмотр профиля
    • http://comp.hobi.ru
то пользователю выдается страница с надписью "Форум только для членов клуба!
Не проще тогда сделать авторизацию юзера и пускать на форум? Ксати IB можно сразу ставить и забыть про проверки страниц и окон броузера
У програмиста две руки: левая и !левая
welcome

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Цитировать
А я не знаю...): Поделись?


Это шутка? Если нет, то идея та же, что с фреймом, но не через фрейм, а через имыдж. Фреймы вообще - левовато как-то. Если юзвер отключит ява-скрипта, то на страницу форума его не пустит, так как не будет сигналов о том, что нужные страницы открыты.


Цитировать
Не проще тогда сделать авторизацию юзера и пускать на форум?


Я так понял, что зачем-то надо именно, чтобы эти страницы были открыты. Хотя пришла в голову мысль, что это таким образом человек изобрел новый способ авторизации :) а на самом деле нужно просто обычную авторизацию... А если так, то это сделать вообще просто, причем и трогать-то придется только страницу форума... Хотя тогда зачем было нужно, чтобы можно выбирать все эти страницы открыты или одна только...

Цитировать
Ксати IB можно сразу ставить и забыть про проверки страниц и окон броузера


IB - это что?

Unregistered

  • Гость
Цитировать
Фреймы вообще - левовато как-то.

Зря ты так. Не получиться если отключены не только яваскрипт, но и меты, а инае всё будет ок.
Цитировать
а через имыдж

говорю вполне серьёзно. Всё равно не понял. Можно пример? Что такое "имыдж"? В смысле картинка?
Цитировать
IB - это что?

я тоже не понял... Или я совсем отупел, или давайте писать все чуть подробнее:-)

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ну типа того:

Цитировать






А в set_user_online.phtml:
Цитировать

/*
тут выполнить нужные действия. Т.е. установить для данного юзера для данной страницы, что она подала голос тогда-то
*/

//потом отключим кеширование
header("Expires: ".gmdate("D, d M Y H:i:s",10800)." GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s",$TIME)." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

//отдадим картинку 1х1 пиксель
// только то,что выводится echo должно быть одной строкой без переносов.
set_content_type("image/gif");
header("Content-Length: 43");
echo "\\x47\\x49\\x46\\x38\\x39\\x61\\x01\\x00\\x01\\x00\\x80\\xFF\\x00\\xC0\\xC0\\xC0\\x00\\x00\\x00\\x21\\xF9\\x04\\x01\\x00\\x00\\x00\\x00\\x2C\\x00\\x00\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\x02\\x02\\x44\\x01\\x00\\x3B";

?>
« Последнее редактирование: 02 Августа 2002, 19:27:18 от Доктор »

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Угу, понял. Спасибо. Только, согласись, с фреймамаи лучше, т.к. сочетание отключён Яваскрипт+метатеги, встречается гораздо реже, чем просто отключённый яваскрипт.
ESE, теперь ты колись что значит "IB". Обчевстеность:-) хочет знать всё!;-)
Ну к чему все это, лучше бы водки выпили...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28