Сравнение куки и выдача результата.
Как и многие, задающие тут вопросы - в 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 раз и говорил нашли вообще такую куку или нет. А там я уже алерт поменял бы на то, что мне нужно. Если кто то подправит это дело или даст готовое решение или отправит меня читать не весь мануал, а конкретную вещь, желательно с примером - буду очень благодарен. |
Мда.. сразу не допер, просто взял и удалил Else. Теперь только нужны алерт вылетает.
Но все равно буду рад, если кто нибудь укажет на ошибки, лишний код и объяснит алгоритм или отправит на мануал) Ученье - свет :) |
Ээээ, я не понял, идентификатор сессии хранится в ключе куки? :blink: А в значении тогда что?
|
Часовой пояс GMT +3, время: 00:16. |