2016-12-03 7 views
0

Привет Я хотел бы сохранить следующий выбор в сеансе и эхо на другой странице xxxx.blade.php. Всякий раз, когда я выбираю новый, предыдущий выбор нужно отбросить.Laravel - Как добавить данные в сеанс

DashboardController.php

$this->data['companyNames'] = \DB::table('tb_users')->orderBy('company_name')->lists('company_name', 'id'); 

index.blade.php

<form action="impersonate" method="post"> 
{!! Form::select('id', $companyNames) !!} 
<button type="submit" value="Submit">Go</button> 
</form> 
+1

Вы никогда не должны пытаться угнать другой сеанс пользователей –

+0

Я знаю, что, но как? – Selim

+0

Вы действительно хотите захватить активный сеанс пользователя или просто войти в систему как другой пользователь? –

ответ

1

Все, что вам нужно сделать, чтобы переключить пользователей это войти в другой один:

Auth::login($user); 

Это это было очень просто:

Создание формы с входами:

<form action="/impersonate" method="post"> 
    {{ csrf_field() }} 

    <select name="user_id"> 
     <option value="1">User 1</option> 
     <option value="2">User 2</option> 
     <option value="3">User 3</option> 
     <option value="4">User 4</option> 
    </select> 

    <your submit button> 
</form> 

и маршрут для входа в систему вашего пользователя:

Route::post('impersonate', function() { 
    $user = User::find(request()->get('user_id')); 

    Auth::login($user_id); 

    return Redirect::to('/'); 
}); 
+0

Большое спасибо. Как я могу использовать его с selectbox в html? – Selim

+0

Отредактировано для отображения. –

+0

Controller.php '$ this-> data ['firstNames'] = \ DB :: table ('tb_users') -> orderBy ('first_name') -> lists ('first_name', 'id');' index. blade.php '{!! Форма :: select ('first_name', $ firstNames) !!} ' – Selim

Смежные вопросы