Постнагуализм
05 февраля 2025, 08:56:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

      Логин             Пароль
 
   Начало   Помощь Правила Поиск Войти Регистрация Чат  
Страниц: [1]
  Ответ  |  Печать  
Автор Тема: Вопрос связанный с языком программирования JavaScript  (Прочитано 1072 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Вопрос
Гость


Email
« : 24 сентября 2023, 13:42:11 »
Цитировать выделенноеЦитировать выделенное ПроцитироватьЦитировать

Привет!
Есть ли здесь люди, которые хорошо разбираются в языке программирования JavaScript?

Проблема следующая.
Я хочу для каждого зашедшего человека на мой веб-сайт создать cookies-файл.
У каждого из этих людей будут будут свои настройки. Этих настроек около пяти.
Ключевой параметр - это псевдоним вошедшего.
Так вот.

Я создаю cookies-файл для первого вошедшего человека:

document.cookie = 'pc_user_1=' + localStorage.getItem('my_nickname_ls'); <!-- localStorage.getItem('my_nickname_ls') Тут хранится Ivanov -->
document.cookie = 'smiles=1';
document.cookie = 'time=1';
document.cookie = 'sound=1';

Потом заходи другой человек. Если я напишу такие строки:

document.cookie = 'pc_user_1=' + localStorage.getItem('my_nickname_ls'); <!-- localStorage.getItem('my_nickname_ls') Тут хранится Sidorov -->
document.cookie = 'smiles=2';
document.cookie = 'time=2';
document.cookie = 'sound=2';

Мой cookies-файл изменится. И там будут новые параметры. А мне надо, что создался новый cookies-файл с новыми параметрами для Sidorov`а.

Буду очень признателен, если кто-то подскажет мне, как решить эту проблему.

Записан
Вопрос
Гость


Email
« Ответ #1 : 24 сентября 2023, 13:52:25 »
Цитировать выделенноеЦитировать выделенное ПроцитироватьЦитировать

Уточню.
Эти два человека используют один компьютер, то есть для двух учётных записей должны быть два различных cookies-файла.
Записан
джелави
Постоялец
***
Offline Offline

Пол: Мужской
Сообщений: 1851



« Ответ #2 : 27 декабря 2024, 15:14:59 »
Цитировать выделенноеЦитировать выделенное ПроцитироватьЦитировать

В JavaScript, когда вы создаете cookie, вы используете одно и то же имя для каждого пользователя, что приводит к перезаписи существующего cookie. Чтобы создать отдельные cookies для каждого пользователя, вам нужно использовать уникальные имена для cookies, основанные на псевдониме пользователя или на уникальном идентификаторе.
Вот пример, как это можно сделать:

javascript

// Получаем псевдоним пользователя из localStorage
const nickname = localStorage.getItem('my_nickname_ls');

// Создаем уникальные cookies для каждого пользователя
document.cookie = 'pc_user_' + nickname + '=' + nickname; // Например, pc_user_Ivanov=Ivanov
document.cookie = 'smiles_' + nickname + '=1'; // smiles_Ivanov=1
document.cookie = 'time_' + nickname + '=1'; // time_Ivanov=1
document.cookie = 'sound_' + nickname + '=1'; // sound_Ivanov=1
Таким образом, для каждого пользователя вы будете создавать cookies с уникальными именами, например, pc_user_Ivanov, smiles_Ivanov, и так далее. Когда другой пользователь (например, Sidorov) зайдет на сайт, вы можете сделать следующее:

javascript

const nickname = localStorage.getItem('my_nickname_ls');

// Создаем cookies для нового пользователя
document.cookie = 'pc_user_' + nickname + '=' + nickname; // Например, pc_user_Sidorov=Sidorov
document.cookie = 'smiles_' + nickname + '=2'; // smiles_Sidorov=2
document.cookie = 'time_' + nickname + '=2'; // time_Sidorov=2
document.cookie = 'sound_' + nickname + '=2'; // sound_Sidorov=2
Теперь у вас будут разные cookies для каждого пользователя, и они не будут перезаписывать друг друга. Вы можете использовать эти cookies для хранения настроек каждого пользователя.

сказал чатбот ГПТ, и грязно выругался
Записан
Страниц: [1]
  Ответ  |  Печать  
 
Перейти в:        Главная

+ Быстрый ответ
Postnagualism © 2010. Все права защищены и охраняются законом.
Материалы, размещенные на сайте, принадлежат их владельцам.
При использовании любого материала с данного сайта в печатных или интернет изданиях, ссылка на оригинал обязательна.
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC