Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
 Аватар для Garred
282 / 80 / 7
Регистрация: 19.04.2011
Сообщений: 223

Чтение cookie, поставленного Yii2

07.07.2016, 07:43. Показов 4486. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Создаю куку в PHP и пытаюсь считать ее в JavaScript вот такой функцией:

JavaScript
1
2
3
4
5
function getCookie(name) {
        var r = document.cookie.match("(^|;) ?" + name + "=([^;]*)(;|$)");
        if (r) return decodeURIComponent(r[2]);
        else return "";
    }
Но в результате при записи в PHP в куку с именем "compare" слова "hello" получаю такую строку в JavaScript:
622eb53f4c7e0c0ff13522c211a1cc27f6d29269 579a35684f2c71efa1a29af5a:2:{i:0;s:7:"co mpare";i:1;s:5:"hello";}

Как в JavaScript получить сразу значение куки без всей этой лишней информации?
Заранее благодарю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.07.2016, 07:43
Ответы с готовыми решениями:

Чтение cookie
Здравствуйте! У меня следующая проблема. Пытаюсь создать пользовательский компонент, который выводит определённую информацию из базы...

Хранение, чтение и сравнение cookie
Есть код типа такого: <?php if(isset($_POST) && ($_POST)){ $login = md5($_POST); $password = md5($_POST); }else{ echo...

Ошибка при установке Yii2-user with Yii2 advanced template
https://github.com/dektrium/yii2-user/blob/master/docs/usage-with-advanced-template.md Ошибка An Error occurred while...

9
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
07.07.2016, 07:52
Garred, каким образом вы ставите куку в пхп?
1
 Аватар для Garred
282 / 80 / 7
Регистрация: 19.04.2011
Сообщений: 223
07.07.2016, 07:54  [ТС]
BANO, я работаю в yii2
PHP
1
2
3
4
5
6
Yii::$app->response->cookies->add(new Cookie([
            'name' => self::COOKIE_NAME,
            'value' => "hello",
            'expire' => time() + self::COOKIE_EXPIRE,
            'httpOnly' => false,
        ]));
0
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
07.07.2016, 08:01
Цитата Сообщение от Garred Посмотреть сообщение
a:2:{i:0;s:7:"compare";i:1;s:5:"hello";}
похоже на выхлоп serialize
если распаковать, то будет массив
PHP
1
$some = array('compare', 'hello');
1
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
07.07.2016, 08:05
ууу....
скажу честно, я не знаю

эта кука может читаться только этим фреймворком
пятиминутный сёрфинг по поисковику мне ничего не дал
1
 Аватар для Garred
282 / 80 / 7
Регистрация: 19.04.2011
Сообщений: 223
07.07.2016, 08:06  [ТС]
Cra3y, а с этим что делать?
622eb53f4c7e0c0ff13522c211a1cc27f6d29269 579a35684f2c71efa1a29af5
то что в начале строки
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
07.07.2016, 08:06
я нашёл кое-что
1
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
07.07.2016, 08:23
Цитата Сообщение от Garred Посмотреть сообщение
а с этим что делать?
полностью cookie покажите как выглядит(без обработки регуляркой)
0
 Аватар для Garred
282 / 80 / 7
Регистрация: 19.04.2011
Сообщений: 223
07.07.2016, 08:27  [ТС]
Цитата Сообщение от Cra3y Посмотреть сообщение
полностью cookie покажите как выглядит(без обработки регуляркой)
Cra3y, вот так
compare=622eb53f4c7e0c0ff13522c211a1cc27 f6d29269579a35684f2c71efa1a29af5a:2:{i:0 ;s:7:"compare";i:1;s:5:"hello";}
0
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
07.07.2016, 09:40
Как создаются
как парсятся
получается следующий формат
первые 64 символа - проверочный хэш
далее сериализованный массив(имя, значение) serialize([$cookie->name, $value]

Добавлено через 3 минуты
первая же ссылка по запросу 'unserialize analog for js' http://javascript.ru/php/unserialize
Возможно поможет...

Добавлено через 23 минуты
Garred, выходит следующее
Подключаем php-unserialize.js
HTML5
1
<script src="/path/to/php-unserialize.js"></script>
далее что то вроде
JavaScript
1
2
3
4
5
6
7
8
function getCookie(name) {
    var r = document.cookie.match("(^|;) ?" + name + "=([^;]*)(;|$)");
    var result = '';
    if (r) {
        result = PHPUnserialize.unserialize(decodeURIComponent(r[2]).substr(64));
    }
    return result;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.07.2016, 09:40
Помогаю со студенческими работами здесь

Простой многостраничный сайт на Yii2 без БД, есть ли быстрый старт для новичка в Yii2?
Привет! Решил смастерить сайт на Yii2, прочел вчера вводный раздел документации - основа понятна, а вот по деталям реализации куча...

Почему Cookie в куки заносится значение, а в другом файле Cookie пуста?
Здравствуйте подскажите что я не так делаю все вроде по примерам да ошибок как токавых нет.. но не получается задуманное хочу сделать...

Вычисление значения А в зависимости от поставленного условия
Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные...

Django csrf cookie --нужно определить в чем ошибка CSRF cookie not set
НУжна помощь в определений ошибки как исправить в папке Templates находится файл index.py &lt;!DOCTYPE html&gt; &lt;html&gt; ...

Вычислить значение функции аргумент которой определяется из поставленного условия
Вычислить значение y в зависимости от выбранной функции φ(x), аргумент которой определяется из поставленного условия. Предусмотреть вывод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru