Неправильная работа куков

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Hoting
Сообщения: 56
Зарегистрирован: 2017.11.10, 10:49

Неправильная работа куков

Сообщение Hoting »

Привет друзья, столкнулся с проблемой воспроизведения данных при первом входе в backend. при авторизации (вводя логин и пароль) я записываю (в контроллере) данные ФИО пользователя в куки (чтоб как то обращаться к пользователю), но почему то при входе в личный кабинет эти куки не подгружаются, подгружаются лишь только после перезагрузки (обновления) страницы, так собственно вопрос, как сделать чтоб не было этой задержки в одно обновление?

код Контроллера на Index страницу

Код: Выделить всё

 public function actionIndex()
    {
        //Запишем в куке основные параметры пользователя и переменные входва в систему

        if($namepeople = \app\models\People::findOne(['id_user' => Yii::$app->user->id] ))
        {
            $fio = $namepeople -> surname . " " . $namepeople -> name . " " . $namepeople -> middle_name;
             $cookies = Yii ::$app -> response -> cookies;
              $cookies->add(new \yii\web\Cookie(
                 [
                     'name' => 'fio',
                     'value' => $fio
                 ]));
        }
фрагмент кода фаил index.php

Код: Выделить всё

$cookies = Yii::$app->request->cookies;
 echo "ФИО ".$cookies->getValue('fio')."<br>";
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Неправильная работа куков

Сообщение someweb »

Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Hoting
Сообщения: 56
Зарегистрирован: 2017.11.10, 10:49

Re: Неправильная работа куков

Сообщение Hoting »

Ознакомился, спасибо. т.е. получается эту проблему никак не решить с помощью кук?

и как в таком случаи быть? принудительно вести к перезагрузке страницы?
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Неправильная работа куков

Сообщение someweb »

Берите из модели, зачем куда то писать? Yii::$app->user
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Hoting
Сообщения: 56
Зарегистрирован: 2017.11.10, 10:49

Re: Неправильная работа куков

Сообщение Hoting »

someweb писал(а): 2018.05.09, 11:14 Берите из модели, зачем куда то писать? Yii::$app->user
из модели мы можем взять только данные usrname и id (если модель стандартная)
у меня есть табличка profil в которой хранятся данные профиля, в контроллере я один раз сделал запрос к таблице и получил все наиболее используемые данные. Далее работать только с куками не нагружая БД.
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Неправильная работа куков

Сообщение someweb »

Кэшируйте, раз у вас такая нагрузка на базу.
Куки на предназначены для такого использования. Если уж так хочется поговнокодить используйте сессии.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Hoting
Сообщения: 56
Зарегистрирован: 2017.11.10, 10:49

Re: Неправильная работа куков

Сообщение Hoting »

someweb писал(а): 2018.05.09, 13:29 Кэшируйте, раз у вас такая нагрузка на базу.
Куки на предназначены для такого использования. Если уж так хочется поговнокодить используйте сессии.
а для чего тогда предназначены куки? лично я считал что именно для хранения каких бы-то данных. Например данных пользователя. От сессий то же ушел, с ними то же не все в порядке, почему то сессия уничтожается через некоторое время, и я так понимаю это настройки сервера а не код ...
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Неправильная работа куков

Сообщение proctoleha »

Изучайте мат. часть, основы. Вот вы обозначили тему, Неправильная работа куков.
Между тем, они работают именно так, как должны работать.
Когда мы пишем что-то в куки, мы говорим браузеру: запомни вот эту инф-цию, под таким-то идентификатором. Ок, говорит браузер, и при следующем обращении он эту инф-цию отдает.
Почему он сразу не может отдать то, что мы попросили запомнить? Браузер здесь, у нас, а сервер где-то там. Клиент-сервер. Когда клиент сможет сказать то, о чем его попросил сервер? Только в след. раз, когда он обратится к серверу. Это основы. Альфа и омега.
То же самое касается и сессий.
Hoting писал(а): 2018.05.09, 19:00 От сессий то же ушел, с ними то же не все в порядке, почему то сессия уничтожается через некоторое время, и я так понимаю это настройки сервера а не код ...
Сессии всегда, и везде, применительно к web технологиям, работают именно так, как и должны работать. Как они работают, и почему уничтожаются? Учим мат. часть, как написано выше.
И только после этого пробуем работать с каким-либо фреймворком. Таких вопросов, как в этой теме, после того, как вы будете понимать основы, у вас не возникнет.
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
Hoting
Сообщения: 56
Зарегистрирован: 2017.11.10, 10:49

Re: Неправильная работа куков

Сообщение Hoting »

К сожалению в мат части не пишут почему происходит та или иная ошибка или событие ...
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Неправильная работа куков

Сообщение zelenin »

Hoting писал(а): 2018.05.09, 12:05
someweb писал(а): 2018.05.09, 11:14 Берите из модели, зачем куда то писать? Yii::$app->user
из модели мы можем взять только данные usrname и id (если модель стандартная)
у меня есть табличка profil в которой хранятся данные профиля, в контроллере я один раз сделал запрос к таблице и получил все наиболее используемые данные. Далее работать только с куками не нагружая БД.
а что если юзер куки потрет?
вы куки абсолютно точно используете неправильно. куки - это не для кэширования. для кэширования кэш.
Ответить