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

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
icedfox
Что именно не получается ? Покажи что сделал и на чем затырка .
arbuzmaster
Затырка вот в чем, чтобы поставить 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 я не знаю, так как их создает пользователь!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
depp
-> JSON.stringify
<- JSON.parse
arbuzmaster
Цитата (depp @ 26.02.2016 - 00:36)
-> JSON.stringify
<- JSON.parse

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

_____________
Мой первый сайтик

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

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

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

_____________
Мой первый сайтик

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

Технически все это сделать можно, но наверняка есть детали, которые усложнят процесс wink.gif
depp
да чего тут гадать то?

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

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


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


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


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

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

set_cookie()
get_cookie()
delete_cookie()

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

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
arbuzmaster
depp я так понял, что потом с помощью JSON.parse, можно будет получить, что-то типа массива в котором будут все элементы?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
depp
да. объект получите.
arbuzmaster
Спасибо, буду пробовать!

_____________
Мой первый сайтик

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

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

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

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

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

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

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

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

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

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.