Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.02.2015 00:55:00

при return Redirect::to('/') не сохраняются переменные сессии

Авторизация работает, проверяла, прописывая в else print_r(Session::all()); exit(); выводит массив session, но на странице не отображает переменную сессисии, в session.php 'driver' => 'file'. Не могу проверить авторизован ли пользователь. Помогите пожалуйста
static function  postLogin()
        {
           
            $data=Input::all();
       
               
                    $user=User::login($data,true);
                    if (!$user)
                    {
                        return "Ошибка авторизации";
                        }
                        else
                        {
               
                           
                            Session::put('my_auth_user',"sgsgs");
                   
                       
                   
                            return Redirect::to('/');
                            }
           
            }

Не в сети

#2 05.02.2015 08:31:30

Re: при return Redirect::to('/') не сохраняются переменные сессии

А зачем столько лишнего?
Можно же так:

# Получаем данные для входа
$data=Input::only('email', 'password');

# Если успешно вошёл
if( Auth::attempt( $data, true ) )
    # Тут можно перенаправить в кабинет или на главную

А проверять, авторизован ли так:

if( Auth::check() )
    # Авторизован

Не в сети

#3 05.02.2015 09:54:13

rozmarin-2013

Re: при return Redirect::to('/') не сохраняются переменные сессии

Спасибо за ответ, но не сохраняются переменные сесси

#4 05.02.2015 09:57:47

Re: при return Redirect::to('/') не сохраняются переменные сессии

переменные сессии не сохраняются и при переходе на другую страницу

Не в сети

#5 17.03.2015 16:08:03

Re: при return Redirect::to('/') не сохраняются переменные сессии

Столкнулся с такой же проблемой.

Причем получается так.
Код писал на локальном серваке под XAMPP. Все работает на ура.

Разместил код на хостинге mirohost и началась проблема, выводит на белом экране redirect to ..., и переменные в сессии теряются.
Сначала думал что возможно версия PHP виновата, на локальном 5,5 на мирохосте 5,4

Но попробовал на украина-хостинг там тоже 5,4, и там опять работает отлично.
А теперь этот код запускался на локальном серваке под OpenServer где PHP 5.5 опять таки та же проблема.

Пока пришел к выводу что для решения проблемы нужно выискивать настройки в PHP, пока что ни к чему не пришел.
Если кто решил эту проблему, поделитесь.

Не в сети

#6 17.03.2015 17:47:24

Re: при return Redirect::to('/') не сохраняются переменные сессии

amaru_s, если в файле session.php настройка  'driver' установлена как 'file', то возможно проблема в правах доступа к папке app/storage.
Права доступа к ней должны быть "777". Установите ей и всем вложенным в неё папкам права "777".

Изменено Дмитрий (17.03.2015 17:48:35)

Не в сети

#7 18.03.2015 14:36:34

Re: при return Redirect::to('/') не сохраняются переменные сессии

Дмитрий пишет:

amaru_s, если в файле session.php настройка  'driver' установлена как 'file', то возможно проблема в правах доступа к папке app/storage.
Права доступа к ней должны быть "777". Установите ей и всем вложенным в неё папкам права "777".

Проблем с доступом к этой папке нет, в ней движок и создает свои файлы для каждой новой сессии.
Также пробовал driver database, проблема остается.

Уже для чистоты эксперимента на компе поставили OpenServer и Xampp
Под OpenServer - проблема осталась
Под Xampp - все проходит на ура

Сейчас пробую поставить SENTRY , позже отпишу как авторизация работает через нее.

Не в сети

#8 19.03.2015 15:55:54

Re: при return Redirect::to('/') не сохраняются переменные сессии

amaru_s пишет:

 
Сейчас пробую поставить SENTRY , позже отпишу как авторизация работает через нее.

Установка sentry помогла решить проблему с авторизацией.
Хоть проблема и осталась, что после отправки формы браузер выводит белый экран с надписью redirect to ...
Но зато сессия остается и данные в ней. И также происходит авторизация.

Не в сети

#9 20.03.2015 07:09:31

Re: при return Redirect::to('/') не сохраняются переменные сессии

браузер выводит белый экран с надписью redirect to

Такое возникает, когда до Redirect идёт какой-то вывод на экран. Вывода не нужно никакого делать перед перенаправлением.

Не в сети

#10 20.03.2015 10:43:46

Re: при return Redirect::to('/') не сохраняются переменные сессии

Дмитрий пишет:

браузер выводит белый экран с надписью redirect to

Такое возникает, когда до Redirect идёт какой-то вывод на экран. Вывода не нужно никакого делать перед перенаправлением.

Нету никакого вывода, перепроверено тщательно, и опять таки как написано выше, надпись появляется не постоянно а в зависимости от сервера.

Не в сети

#11 20.03.2015 12:58:30

Re: при return Redirect::to('/') не сохраняются переменные сессии

иногда ещё вывод появляется, если слишком умный редактор сохранил UTF8 BOM в php-файлах. он оказывается перед открывающим тэгом <?php и попадает в вывод.

Не в сети

#12 16.06.2016 17:24:33

Re: при return Redirect::to('/') не сохраняются переменные сессии

Так и не нашли решение? У меня такая же проблема в laravel 5.2

Не в сети

#13 06.05.2017 22:43:06

Re: при return Redirect::to('/') не сохраняются переменные сессии

В Файле Kernel.php нужно попробовать перенести строку \Illuminate\Session\Middleware\StartSession::class, из "protected $middlewareGroups = " в "protected $middleware = "

Не в сети

#14 06.05.2017 22:44:09

Re: при return Redirect::to('/') не сохраняются переменные сессии

YuriyKoblay пишет:

В Файле Kernel.php нужно попробовать перенести строку \Illuminate\Session\Middleware\StartSession::class, из "protected $middlewareGroups = " в "protected $middleware = "

///// У  меня заработало!!!

Не в сети

Подвал раздела