Постнагуализм

Общение без регистрации (нажмите минус, если не хотите видеть этот раздел) => Свободная территория => Тема начата: Вопрос от 24 сентября 2023, 13:42:11



Название: Вопрос связанный с языком программирования JavaScript
Отправлено: Вопрос от 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`а.

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



Название: Re: Вопрос связанный с языком программирования JavaScript
Отправлено: Вопрос от 24 сентября 2023, 13:52:25
Уточню.
Эти два человека используют один компьютер, то есть для двух учётных записей должны быть два различных cookies-файла.


Название: Re: Вопрос связанный с языком программирования JavaScript
Отправлено: джелави от 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 для хранения настроек каждого пользователя.

сказал чатбот ГПТ, и грязно выругался