Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> алгоритм записи нескольких записей объект/свойство, cookie запись, вывод на экран
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 932
Пользователь №: 37872
На форуме: 3 года, 9 месяцев, 28 дней
Карма: 34




Подскажите пожалуйста как с помощью cookie создавать как бы объекты, а затем их выводить? Например клиент вводит в форму запись типа объект/цвет (апельсин/оранжевый, свекла/красная, автомобиль/mercedes-benz и т.д.) затем это все записывается в cookie и выводится при каждом посещении, у меня возникает проблема с тем как это правильно сделать!


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 396
Пользователь №: 41702
На форуме: 1 год, 9 месяцев, 10 дней
Карма: 13




Что именно не получается ? Покажи что сделал и на чем затырка .
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 932
Пользователь №: 37872
На форуме: 3 года, 9 месяцев, 28 дней
Карма: 34




Затырка вот в чем, чтобы поставить cookie мы делаем так

document.cookie = "fruits=orang";

а мне нужно сделать, так например

document.cookie = "fruits_1=sliva||blue";
document.cookie = "fruits_2=tomat||red";
document.cookie = "fruits_3=apelsin||orang";

вопрос в том смогу ли я потом определить сколько у меня fruits ? А самое главное вывести это все на экран используя это

function getCookie(name)
{
var r = document.cookie.match("(^|;) ?" + name + "=([^;]*)(;|$)");
if (r) return r[2];
else return "";
}
Сколько будет fruits я не знаю, так как их создает пользователь!


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 384
Пользователь №: 40589
На форуме: 2 года, 5 месяцев, 19 дней
Карма: 22




-> JSON.stringify
<- JSON.parse
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 932
Пользователь №: 37872
На форуме: 3 года, 9 месяцев, 28 дней
Карма: 34




Цитата (depp @ 26.02.2016 - 00:36)
-> JSON.stringify
<- JSON.parse

А JSON можно в cookie хранить? Мне нужно чтобы это все сохранялось, а при повторном заходе на страницу выводилось!


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 396
Пользователь №: 41702
На форуме: 1 год, 9 месяцев, 10 дней
Карма: 13




depp подсказывает верное направление. arbuzmaster, ваш код сдернут с инета, без понимания его сути.
Как минимум вам надо вместо
var r = document.cookie.match("(^|;) ?" + name + "=([^;]*)(;|$)");

иметь
var r = document.cookie.match("(^|;) ?" + name + "_*=([^;]*)(;|$)");

и здесь без перебора массива не обойтись однозначно.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 932
Пользователь №: 37872
На форуме: 3 года, 9 месяцев, 28 дней
Карма: 34




на данный момент для меня суть кода не важна, мне необходимо понять - порядок действий т.е. как мне сохранить (в каком виде ) все это у клиента а затем ему же и вывести


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 396
Пользователь №: 41702
На форуме: 1 год, 9 месяцев, 10 дней
Карма: 13




1. Создаете массив с данными.
2. Пишите в куки, можно так как вы и планировали fruits_1, fruits_2 fruits_...........
3. Получаете циклом из кук все значения fruits_*
4. комплектуете их в массив в этом же цикле
5. Количество записей в массиве и будет нужным вам числом
6. с массивом уже можно работать так, как хотите

Технически все это сделать можно, но наверняка есть детали, которые усложнят процесс wink.gif
PM
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 384
Пользователь №: 40589
На форуме: 2 года, 5 месяцев, 19 дней
Карма: 22




да чего тут гадать то?

вы с куками на JS работаете. хотите сохранить в куку объект. делаете стандартный объект JS с данными:

var fruits = {
"sliva":"blue",
"tomat":"red",
"apelsin":"orang"
}


дальше в куку:
document.cookie = "fruits="+JSON.stringify(fruits);


только для работы с куками в JS лучше какую-нить библиотечку использовать.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26363
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 9 дней
Карма: 736




Цитата
только для работы с куками в JS лучше какую-нить библиотечку использовать.


я вас умоляю...

3 функции - обёртки для удобства

set_cookie()
get_cookie()
delete_cookie()

http://ruseller.com/lessons.php?id=593


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 932
Пользователь №: 37872
На форуме: 3 года, 9 месяцев, 28 дней
Карма: 34




depp я так понял, что потом с помощью JSON.parse, можно будет получить, что-то типа массива в котором будут все элементы?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 384
Пользователь №: 40589
На форуме: 2 года, 5 месяцев, 19 дней
Карма: 22




да. объект получите.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 932
Пользователь №: 37872
На форуме: 3 года, 9 месяцев, 28 дней
Карма: 34




Спасибо, буду пробовать!


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15347
Пользователь №: 4190
На форуме: 9 лет, 3 месяца, 17 дней
Карма: 467




Цитата (arbuzmaster @ 25.02.2016 - 21:42)
Например клиент вводит в форму запись типа объект/цвет (апельсин/оранжевый, свекла/красная, автомобиль/mercedes-benz и т.д.) затем это все записывается в cookie и выводится при каждом посещении

Для этой цели лучше использовать не куки, а localStorage. Потому что куки каждый раз отправляются на сервер, при каждом (!) запросе чего бы то ни было. Записывая всякую хрень в куки, ты существенно и необоснованно увеличиваешь трафик.

Будут всё те же сериализованные объекты, но только они не будут постоянно бегать на сервер. Нужны у клиента? Ну так и пусть у него хранятся.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 932
Пользователь №: 37872
На форуме: 3 года, 9 месяцев, 28 дней
Карма: 34




Цитата (sergeiss @ 26.02.2016 - 12:37)
Цитата (arbuzmaster @ 25.02.2016 - 21:42)
Например клиент вводит в форму запись типа объект/цвет (апельсин/оранжевый, свекла/красная, автомобиль/mercedes-benz и т.д.) затем это все записывается в cookie и выводится при каждом посещении

Для этой цели лучше использовать не куки, а localStorage. Потому что куки каждый раз отправляются на сервер, при каждом (!) запросе чего бы то ни было. Записывая всякую хрень в куки, ты существенно и необоснованно увеличиваешь трафик.

Будут всё те же сериализованные объекты, но только они не будут постоянно бегать на сервер. Нужны у клиента? Ну так и пусть у него хранятся.

А вот это уже интереснее
Цитата
Если ваше клиентское приложение нуждается в локальном хранилище больше чем просто пара ключ/значение, вы можете вставить свою собственную базу данных, придумать свой формат файлов или любое количество других решений.
спасибо за наводку!


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса