Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Можно проверить запущен ли скрипт не используя БД? (https://forum.antichat.xyz/showthread.php?t=36182)

DesignerMix 23.03.2007 13:05

Можно проверить запущен ли скрипт не используя БД?
 
Есть такая проблема: Имеется опрос, который полностью написан на JavaScript и никак не работает с базами данных, всё формируется в теле страницы... Есть ли возможность сделать так, как это делается в php скриптах работающих с БД, т.е. проверка ip+cookie и вывод определённой страницы если скрипт по результату проверки уже запущен. А то получается что у отвечающего на вопросы есть возможность отвечать на один и тотже вопрос одновременно...

DIAgen 23.03.2007 13:25

Зайди на woweb.ru и посмотри подобные скрипты, может что нибудь и наталнет тебя на правильный ход мыслей.

DesignerMix 23.03.2007 14:28

Посмотрел, поискал, того что нужно не нашёл, но помоему если пару скриптов скрутить и дописатьб чуток, может что и выйдет! Спасибо, кстати сайт СУПЕР.

censored! 23.03.2007 15:15

Данные опроса надо ведь где-нить хранить. Либо в БД, либо в файле (на сервере).
И только используя один JavaScript тут не сделать.
...
А так - поиск по яндексу: JavaScript чтение запись cookies
Примеров - выши крыши.

DesignerMix 25.03.2007 21:35

PHP код:

<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(offsetendstr));
}
function 
GetCookie (name) {  
var 
arg name "=";  
var 
alen arg.length;  
var 
clen document.cookie.length;  
var 
0;  
while (
clen) {    
var 
alen;    
if (
document.cookie.substring(ij) == arg)      
return 
getCookieVal (j);    
document.cookie.indexOf(" "i) + 1;    
if (
== 0) break;   
}  
return 
null;
}
function 
SetCookie (namevalue) {  
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 минут (время за которое чел должен пройти опрос), а затем удаляться. Но вот только я немогу этот кусок выдранного кода подправить чтобы выбор был автоматический.... там где он использовался была возможность выбора странички на которую проредиректит... а это не мой вариант, кто может помочь?? Мне нужно чтобы всё было банально и при следующем посещении или обновлении страница отвечающего перебрасывало на тот вопрос на определённую страницу.


Время: 10:41