Как записать в куки код из 5 цифр на 3 суток?
Помогите с простым скриптом, пожалуйста.
Сам скрипты писать не умею, но для сайта (на WordPress) очень нужен скрипт, чтобы делал такое: 1) записывал в куки случайно сгенерированный набор из пяти цифр и запоминал бы его на трое суток, 2) выводил бы в нужном месте страницы эти цифры. Пример работы: человек зашёл на страницу и увидел фразу "Специальный номер: 93061". Далее он может заходить (или не заходить) на сайт сколь угодно раз - номер всё равно будет таким же. Но спустя трое суток, при очередном заходе, номер уже будет другой. Буду очень рад помощи. :) Может быть это поможет тому, кто решит мне помочь - функция для генерации случайных чисел в диапазоне от m до n:
function randomNumber (m,n)
{
m = parseInt(m);
n = parseInt(n);
return Math.floor( Math.random() * (n - m + 1) ) + m;
}
|
забыл написать, что нужно также, чтобы отображалась ещё и дата, когда код был запомнен, плюс двое суток.
|
Здравствуйте!
Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. Вы просите готовый скрипт с нуля. Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
GrayHunter, просто прочтите документацию к кукисам и конструктору Date. Но лично я предпочитаю работать с localStorage, вместо куков.
|
Спасибо, мне уже подсказали в другом месте.
Хотел бы уточнить лишь один момент: Сейчас у меня выводится, например, "3 апреля 2012 г. 19:43:36 Московское стандартное время", а мне нужно "3.04.12". Я заменил "date.toLocaleString()" на "date.toLocaleDateString()", но выводиться стало так: "3 апреля 2012 г." Подскажите плз, как сделать "3.04.12"? |
date.getDate()+'.'+date.getMonth()+'.'+date.getYea r()
|
Спасибо, но отображает почему-то "3.3.112".
Привожу полный код скрипта на всякий случай:
<script type="text/javascript">
<!--
var console = window.console || {log : function(msg) {alert(msg);}},
MYAPP = MYAPP || {
cookie : {
expireDate : function(periodType, offset) {
var expire = new Date();
switch (periodType.toLowerCase()) {
case 'years':
expire.setFullYear(expire.getFullYear() + offset);
break;
case 'months':
expire.setMonth(expire.getMonth() + offset);
break;
case 'days':
expire.setDate(expire.getDate() + offset);
break;
case 'hours':
expire.setHours(expire.getHours() + offset);
break;
case 'minutes':
expire.setMinutes(expire.getMinutes() + offset);
break;
default:
console.log(
'MYAPP.cookie.expireDate( Invalid "periodType" = "' + periodType + '" );'
);
}
return expire;
},
deleteCookie : function (cookieName) {
writePersistentCookie(cookieName, 'Pending delete', 'years', -1);
},
getCookieValue : function (cookieName) {
var exp = RegExp(cookieName + '=([^;]+)');
if (exp.exec(document.cookie + ';')) {
return RegExp.$1;
}
return null;
},
writePersistentCookie : function (cookieName, cookieValue, expire, path) {
var expire = expire || this.expireDate('minutes', 5),
path = path || '/';
document.cookie = cookieName + '=' + cookieValue
+ '; expires=' + expire.toUTCString()
+ '; path=' + path;
}
},
showRandomId : function(id, range, periodType) {
var getRandomId = function() {
var cookieName = 'random_id',
value = MYAPP.cookie.getCookieValue(cookieName),
expire = MYAPP.cookie.expireDate(periodType[0], periodType[1]),
x = range[0],
y = range[1],
random = Math.floor( Math.random() * (y - x + 1) ) + x,
sep = '&';
if(value) {
value = value.split(sep);
} else {
value = [random, expire.valueOf()];
MYAPP.cookie.writePersistentCookie(cookieName, value.join(sep), expire);
}
return value;
},
value = getRandomId(),
date = new Date(+value[1]),
obj = document.getElementById(id);
if(obj) {
obj.innerHTML = '<p>Специальный номер: <em>' + value[0]
+ '</em> истекает <em>' + date.getDate()+'.'+date.getMonth()+'.'+date.getYear() + '</em></p>';
}
}
}
-->
</script>
</head>
<body onload="MYAPP.showRandomId('container', [10101, 99988], ['days', 3])">
<span id="container"></span>
|
| Часовой пояс GMT +3, время: 07:01. |