Forum Webscript.Ru
Разное => Поиск, изготовление скриптов и прочее... => Тема начата: Eugene2001 от 31 Июля 2002, 18:58:21
-
дравствуйте!
мне нужно написать небольшой скрипт...
принцип работы:
нужно чтобы скрипт при заходе на страницу, например, 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
Евгений
-
Пишу в мыло.
-
Дополнение:
админ-часть не обязательна, достаточно INI-файла, в котором все можно поправить в ручную...
-
Ну чего, скажите честно, кто знает как это сделать описанным методом? :)
-
Ну чего, скажите честно, кто знает как это сделать описанным методом?
чего захотел:-). Те кто знает наверное уже пишут:-).
Хотя, если тебе интересно моё собачье мнение:-), то слушай:
вставить в мембер страничку явоскриптом куки, по событию онлоад, а по событию онклоуз затирать эти самые куки. Скриптом потом проверяешь есть куки, значит входит юзверь форум, нет куков - досвиданья.
Работать всё это будет глючно и не у всех:-).
Без яваскрипта здесь обойтись не удастся так как надо обязательно отлавливать сабытие на онклоуз.
Всё это только моё ИМХО.
Может кто получше придумает?
-
Ну чего, скажите честно, кто знает как это сделать описанным методом?
Это вопрос типа памощь зала?
Я мыслю как вариант функции "кто на сайте". Ставить метку и проверять каждую минуту (меньше сильно увеличит нагрузку при больших посещениях).
-
glebushka
контакт :)
-
glebushka
Я имел в виду именно описанным методом - проверка содержимого соседних окон :) Хотя и сам заню, что нельзя. Так, прикололся просто.
Сам я знаю вариант, когда страница просто подает голос о том, что еще жива серверу через промежутки времени.
Вариант с куками мне в голову не приходил даже. А как из JS установить/снять куку? Это точно возможно? Чего-то я в мануале этого не нашел. Можно пример?
-
Доктор
А как из 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 можно обмануть (все таки на стороне клиента работают), а значит система будет ненадежной.
-
Сам я знаю вариант, когда страница просто подает голос о том, что еще жива серверу через промежутки времени.
А я не знаю...): Поделись?
Кстати мне сейчас в голову пришла мысль, как водится связана с фреймами:-).
Так воть, если загнать ту страничку (мемберлист) в фреймасет, один нулёвый - там будет запускаться скрипт, другой во весь экран - страничка мемберов. Далее ставим авторефреш нулёвого фрейма на предположим минута (можно и меньше). Через каждую минуту вызывается скрипт, записывающий текущее время, и IP, в файл и возращающий, чтобы ещё больше уменьшить трафик, 204 код. Воть. Идея ясна?
Извиняюсь что путано, а кто понял молодец:-).
Хотя это тоже не надёжно - юзерь может отключить и яву и мету, да и запустить скрипт без запуска страницы мемберов...
-
то пользователю выдается страница с надписью "Форум только для членов клуба!
Не проще тогда сделать авторизацию юзера и пускать на форум? Ксати IB можно сразу ставить и забыть про проверки страниц и окон броузера
-
А я не знаю...): Поделись?
Это шутка? Если нет, то идея та же, что с фреймом, но не через фрейм, а через имыдж. Фреймы вообще - левовато как-то. Если юзвер отключит ява-скрипта, то на страницу форума его не пустит, так как не будет сигналов о том, что нужные страницы открыты.
Не проще тогда сделать авторизацию юзера и пускать на форум?
Я так понял, что зачем-то надо именно, чтобы эти страницы были открыты. Хотя пришла в голову мысль, что это таким образом человек изобрел новый способ авторизации :) а на самом деле нужно просто обычную авторизацию... А если так, то это сделать вообще просто, причем и трогать-то придется только страницу форума... Хотя тогда зачем было нужно, чтобы можно выбирать все эти страницы открыты или одна только...
Ксати IB можно сразу ставить и забыть про проверки страниц и окон броузера
IB - это что?
-
Фреймы вообще - левовато как-то.
Зря ты так. Не получиться если отключены не только яваскрипт, но и меты, а инае всё будет ок.
а через имыдж
говорю вполне серьёзно. Всё равно не понял. Можно пример? Что такое "имыдж"? В смысле картинка?
IB - это что?
я тоже не понял... Или я совсем отупел, или давайте писать все чуть подробнее:-)
-
Ну типа того:
А в 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";
?>
-
Угу, понял. Спасибо. Только, согласись, с фреймамаи лучше, т.к. сочетание отключён Яваскрипт+метатеги, встречается гораздо реже, чем просто отключённый яваскрипт.
ESE, теперь ты колись что значит "IB". Обчевстеность:-) хочет знать всё!;-)
-
Ну народ, даете :) IB - ikonborda (форум). Человеку нужен форум, я ему предлагаю забыть про открытые страницы и ставить форум, и закрыть его от посторонних глаз, ушей, и прочих частей тела. А то лови, какие страницы открыты, какие открылись после того как открылась нужная страница, куда юзер пошел, что делал, сколько закрыл страниц - арифметика прям какаято........... Даже не арифметика и фигня какаято :) Зайди на tarlala.com, открой blablabla.kz и смело заходи в форум, тебя там ждут! Ну, человеку денег не жалко за такую дурь, я удивлен 8-)
-
Только, согласись, с фреймамаи лучше, т.к. сочетание отключён Яваскрипт+метатеги, встречается гораздо реже, чем просто отключённый яваскрипт.
С одной стороны да, но с другой - фреймы это лишний гемор раз, имеют свои недостатки - два, яваскрипт отключен у одного пользователя на 10000 - это три. Так что имыдж лучше :)
Ну, человеку денег не жалко за такую дурь, я удивлен 8-)
Ну, человек просто сам придумал, похоже, систему авторизации :) И не нам судить на что он тратит свои деньги.
-
лишний гемор раз
???
имеют свои недостатки
например?!
-
Ну, например, в сигнальном окне по ссылке давно уже другая страница открыта, а скрытый фрейм все сигналит. Тоже можно побороть, но это ГЕМОР :)