Показать сообщение отдельно
  #1 (permalink)  
Старый 08.04.2014, 13:42
Новичок на форуме
Отправить личное сообщение для fakels Посмотреть профиль Найти все сообщения от fakels
 
Регистрация: 08.04.2014
Сообщений: 2

Сравнение куки и выдача результата.
Как и многие, задающие тут вопросы - в js я 0.
Но передо мной стоит задача.

Есть голосование на js+mysql+php.

Все работает отлично, но я решил немного его "причесать", сделать получше.. И вот уже 3-ий день бьюсь над элементарной, как мне кажется, задачей, но решить сам её не могу. Перечитал тут кучу примеров, засунул в свой код и добился ерунды полной

В двух словах. Есть голосование. Когда пользователь тыкает на кнопку проголосовать - в куки браузера падает запись вида voting_ + id + абракодабра, примерный вид - "voting_472dfgjhKFGH".

Если пользователь пытается проголосовать еще раз, то ему вылетает alert с предупреждением, что он уже голосовал.

Что хочу сделать я - что бы если пользователь уже голосовал, то кнопки голосования были УЖЕ не активны.

Застрял я на этапе сравнения всех кук с данного сайта с нужной нам.

После 3х дней у меня получилось следующее:
var getvalue = $('.vote-wrapper').attr('name');
 	kuka = "voted_" + getvalue;
 	
 	var mas = document.cookie.split(';'), names = [], i = 0, l = mas.length;
	for(;i<l;i++)names.push(mas[i].split('=')[0]);
	//alert(names);
	
	var coockie=document.cookie;
	var coockie_arr=coockie.split('; ');	
	var value_arr=[];
	var coockie_key=0;
	var coockie_val=0;
	
	$.each(coockie_arr, function(key, value) {
      		value_arr=value.split('=');
      		coockie_key=value_arr[0];
		    if (coockie_key == kuka) {
      			alert("нашли куку!"); 
      		}
      		else {
      			alert("нет такой куки, черт побери!");
      		}
	});


var getvalue = $('.vote-wrapper').attr('name');

забирает из класса vote-wrapper атрибут - name. Там у нас ID + абракодарбра.
далее мы добавляем еще "voted_".

Ну а дальше полная ерунда) я толком не понимаю, что там происходит, но это максимум, что у меня получилось.

Результат - сейчас выскакивает каждый раз алерт, на каждую куку, где то в середине он находит нужную и выскакивает другой алерт.

Нужно, что бы алерт вылетал всего 1 раз и говорил нашли вообще такую куку или нет.
А там я уже алерт поменял бы на то, что мне нужно.

Если кто то подправит это дело или даст готовое решение или отправит меня читать не весь мануал, а конкретную вещь, желательно с примером - буду очень благодарен.
Ответить с цитированием