Просмотр полной версии : Можно проверить запущен ли скрипт не используя БД?
DesignerMix
23.03.2007, 13:05
Есть такая проблема: Имеется опрос, который полностью написан на JavaScript и никак не работает с базами данных, всё формируется в теле страницы... Есть ли возможность сделать так, как это делается в php скриптах работающих с БД, т.е. проверка ip+cookie и вывод определённой страницы если скрипт по результату проверки уже запущен. А то получается что у отвечающего на вопросы есть возможность отвечать на один и тотже вопрос одновременно...
Зайди на woweb.ru и посмотри подобные скрипты, может что нибудь и наталнет тебя на правильный ход мыслей.
DesignerMix
23.03.2007, 14:28
Посмотрел, поискал, того что нужно не нашёл, но помоему если пару скриптов скрутить и дописатьб чуток, может что и выйдет! Спасибо, кстати сайт СУПЕР.
censored!
23.03.2007, 15:15
Данные опроса надо ведь где-нить хранить. Либо в БД, либо в файле (на сервере).
И только используя один JavaScript тут не сделать.
...
А так - поиск по яндексу: JavaScript чтение запись cookies
Примеров - выши крыши.
DesignerMix
25.03.2007, 21:35
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*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 SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var favorite = GetCookie('animal');
if (favorite != null) {
switch (favorite) {
case 'cat' : url = 'http://img.cgtalk.ru;
break;
case 'dog' : url = 'http://galery.cgtalk.ru';
break;
case 'gerbil' : url = 'http://forum.cgtalk.ru';
break;
case 'gopher' : url = 'http://www.cgtalk.ru';
break;
}
window.location.href = url;
}
// End -->
</script>
<form>
<table><tr><td>
Куда делать переадресацию при следующем посещенни этой страницы?:<br>
<input type=checkbox name="cat" onClick="SetCookie('animal', this.name, exp);">Скрипты<br>
<input type=checkbox name="dog" onClick="SetCookie('animal', this.name, exp);">Статьи<br>
<input type=checkbox name="gerbil" onClick="SetCookie('animal', this.name, exp);">Графика<br>
<input type=checkbox name="gopher" onClick="SetCookie('animal', this.name, exp);">Каталог ссылок<br>
</td></tr>
</table>
</form>
Вот тот скрипт, который решает мою проблему, в идеале когда заходишь на страницу создаются cookie, которые должны жить 45 минут (время за которое чел должен пройти опрос), а затем удаляться. Но вот только я немогу этот кусок выдранного кода подправить чтобы выбор был автоматический.... там где он использовался была возможность выбора странички на которую проредиректит... а это не мой вариант, кто может помочь?? Мне нужно чтобы всё было банально и при следующем посещении или обновлении страница отвечающего перебрасывало на тот вопрос на определённую страницу.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot