Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.02.2013, 11:50
Новичок на форуме
Отправить личное сообщение для Peter23 Посмотреть профиль Найти все сообщения от Peter23
 
Регистрация: 23.02.2013
Сообщений: 3

Как при щелчке прибавить значение cookies на единицу.
Помогите! Сколько раз пробовал, не получается. При клике на ссылку, браузеру посылается файл cookie со значением 1, при следующем щелчке, оно увеличивается еще на единицу, и так до бесконечности. При закрытии окна/вкладки браузера, cookie удаляются. Если это возможно, то ответьте мне!Мне все равно, на каком языке написан.Главное,что бы работало.
Искал в интернете решение проблемы. Нашел код на php.Он оказался нерабочим.
<?php
if(!isset($_COOKIE['aut']))
{
  counter_plus(); //Функция прибавляющая к счётчику единицу
  setcookie("aut", "1", time()+99999);
}
?>


Так же, я брал за основу любой счетчик посещений на javascript, затем пытался активизировать код при щелчке. Максимум что у меня получалось, это файл cookie со значением undefined.Если надо описать все мои манипуляции подробнее,то обращайтесь.




Ответить с цитированием
  #2 (permalink)  
Старый 23.02.2013, 12:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Peter23
При закрытии окна/вкладки браузера
Это событие нельзя отследить. В качестве альтернативы сервер должен слушать периодические сообщения, которые нужно остылать javascript'ом через XMLHttpRequest. Если сообщений долго нет - пользователь ушел. Куки можно устанавливать как на стороне сервера (в момент формирования ответа), так и на клиенте (javascript'ом). Что использовать - зависит от задачи.
Ответить с цитированием
  #3 (permalink)  
Старый 23.02.2013, 12:07
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Peter23
При закрытии окна/вкладки браузера, cookie удаляются.
1. Cмысла в cookie нет, используйте просто переменную,
Весь смысл в cookie запоминание меж страницами, и после закрытия
2. Не используйте setcookie("aut", "1", time()+99999); добавку времени, тогда cookie запоминаются лишь на текущую сессию, до закрытия всех вкладок ресурса
setcookie("aut", "1")

3, Интерпретируйте undefined как 0

function  PlusCount () {
var a = getcookie('aut');
  if(!a) a =0;
  +a++;
  setcookie("aut", a);
  return a;
}

Последний раз редактировалось Deff, 23.02.2013 в 13:06.
Ответить с цитированием
  #4 (permalink)  
Старый 23.02.2013, 12:45
Новичок на форуме
Отправить личное сообщение для Peter23 Посмотреть профиль Найти все сообщения от Peter23
 
Регистрация: 23.02.2013
Сообщений: 3

Deff, я не силен в php. Denwer выводит эту ошибку: Parse error: syntax error, unexpected T_VAR in Z:\home\etm.ru\www\test\php\lc.php on line 3
Я так и ничего не понял.
Сам код:
lc.php
<?php
function  PlusCount () {
var a = getcookie('aut')
if(!a) a =0;
  (+a)++;
  setcookie("aut", a);
  return a;
}

?>


index.html
<script language="Javascript">
function SC() {
	var t = new Image();
	t.src = "php/lc.php"
	return false;
}
</script>
<a href="javascript:void(0)" OnClick="SC()">Link</a>


Можете полностью написать рабочий код?
Ответить с цитированием
  #5 (permalink)  
Старый 23.02.2013, 12:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Peter23, лучше напишите полностью какую задачу вы пытаетесь решить. Зачем вам эта инкрементируемая кука?
Ответить с цитированием
  #6 (permalink)  
Старый 23.02.2013, 13:02
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Peter23
Можете полностью написать рабочий код?
<script type="text/javascript">
function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
 function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}
</script>

<button id="but00" onclick="alert(PlusCount())">якобы Клик по ссылке</button>

<script>
function  PlusCount () {
var a = getcookie('aut');
  if(!a) a =0;
   +a++;
  setcookie("aut", a);
  return a;
}
</script>

Последний раз редактировалось Deff, 23.02.2013 в 13:15.
Ответить с цитированием
  #7 (permalink)  
Старый 23.02.2013, 13:14
Новичок на форуме
Отправить личное сообщение для Peter23 Посмотреть профиль Найти все сообщения от Peter23
 
Регистрация: 23.02.2013
Сообщений: 3

Ребят, спасибо за помощь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение $(document).scrollTop() при загрузке страницы в Chrome ilya_ jQuery 7 24.01.2013 15:04
Как отследить пропал ли текст placeholder-а при фокусе на поле ввода z1987 Общие вопросы Javascript 2 19.12.2012 11:10
Как подключить JQUery при разработке расширения для OPERA? Romingood jQuery 1 24.10.2012 11:25
Как запретить применение css при изменении окна браузера east (X)HTML/CSS 7 12.10.2012 21:23
Как выполнить код javascript при инклюде странички на php wfire jQuery 7 27.05.2011 14:43