Тот факт, что вы используете CodeIgniter не имеет значения, как вы можете установить информацию печенья довольно легко с любой платформы, которую вы используете. CodeIgniter просто предоставляет функции обертки для файлов cookie, чтобы упростить их работу. Если вы знаете, как использовать помощник cookie CI, тогда у вас не должно возникнуть проблемы с этой работой.
Наиболее надежным решением было бы использовать файл cookie, который содержит уникальный идентификатор для этого пользователя. Этот уникальный идентификатор соответствует записи базы данных, содержащей параметры для пользователя. Сохраняя уникальный идентификатор в файле cookie, вы избегаете читать и писать в файл cookie при изменении настроек. Если вы добавите новые функции на свой сайт, которые нуждаются в их собственных настройках, вам не придется прикасаться к файлу cookie, вы просто добавите новые значения настроек в db. Кроме того, вы не хотите раскрывать информацию о настройках в вашем файле cookie, что может позволить кому-то отредактировать содержимое файла cookie, чтобы попробовать SQL-инъекцию или какую-либо другую атаку.
Вы можете создать несколько файлов cookie для своего сайта, чтобы я сделал новый файл cookie для уникального идентификатора в соответствии с пользовательскими настройками. Когда пользователь посещает ваш сайт, загружайте помощник cookie CI, а затем используйте помощник get_cookie ('unique_cookie'), чтобы найти файл cookie. Имя cookie 'unique_cookie' - это то, что вы используете как имя файла cookie, содержащего уникальный идентификатор пользователя.
Если get_cookie() возвращает false, то у пользователя нет файла cookie, поэтому он, вероятно, посещает первый раз, или он удалил файл cookie. Вам нужно создать новый файл cookie с помощью set_cookie ($ cookie_array). Метод set_cookie() принимает ассоциативный массив в качестве аргумента. Этот массив содержит значения для файла cookie, одним из которых является «имя», которое вы укажете на «unique_cookie», а «value» будет уникальным идентификатором (используйте метод random_string() вспомогательного элемента CI String для создания уникального идентификатора) , Пока вы настраиваете файл cookie, вы также хотите создать запись db с этим уникальным идентификатором, который содержит значения параметров по умолчанию.
Пока пользователь находится на вашем сайте, создайте объект сеанса (используя библиотеку сеансов CI), который хранится на уникальном идентификаторе, поэтому, когда пользователь изменяет настройки во время сеанса, вы можете сопоставить уникальное значение идентификатора сеанса с записью db поэтому вы можете делать обновления к этой записи, не прикасаясь к файлу cookie. Для любых действий контроллера, которые могут потребоваться для получения или установки параметров, вы можете использовать инструменты сеанса для получения уникального идентификатора. Вам нужно только прикоснуться к файлу cookie, когда пользователь сначала войдет в ваш сайт, а объект сеанса еще не создан.