我想在成功注册后自动登录并重定向到“编辑个人资料”页面。我尝试了以下代码但无法正常工作
class RegisterController extends Controller
{
use RegistersUsers;
protected $redirectTo = '/edit_profile';
public function __construct()
{
$this->middleware('guest');
}
public function createUser(Request $request)
{
$this->validate($request , [
'firstName' => 'required',
'lastName' => 'required',
'displayName' => 'required',
'email' => 'required |email',
'password' =>'required ',
'gender' =>'required',
'day' =>'required|max:2',
'month' =>'required|max:2',
'year' =>'required|max:4',
]);
$email=$request->input('email');
$password=$request->input('paasword');
$dob=$request->input('day').'-'.$request->input('month').'-'.$request->input('year');
$request->request->add(['dob'=>$dob]);
$request->request->add(['password'=>bcrypt($request->input('password'))]);
$data = User::create($request->except(['_token', 'submit', 'day','month','year', 'confirm_password' ,'dayInWeek']));
Auth::login($data);
}
}
路线
Route::get('/', 'PageController@login');
Route::get('/home', 'HomeController@index');
Route::group( ['middleware' => 'auth' ], function()
{
Route::get('main', 'PageController@main');
Route::get('browse', 'PageController@browse');
Route::get('pickngo', 'PageController@pickngo');
Route::get('edit_profile', 'PageController@profile');
}
最佳答案
通过传递用户 ID 使用 Laravel loginUsingId($id) 函数。
$data = User::create($request->except(['_token', 'submit', 'day','month','year', 'confirm_password' ,'dayInWeek']));
Auth::loginUsingId($data->id);
关于php - laravel 5.4.12注册成功后如何自动登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42827367/