Larave 6.xにてセッションを利用したいのですが
セッションの保存ができておらず質問させていただきます。
勉強のためもありAuth機能を自作で実装しようと思っており、
その際のログイン完了時にmember_id
をセッションに保存したいです。
PHP
1 public function logIn (Request $request) { 2 //ログイン済みのとき 3 $memberId = session('member_id', null); 4 if (isset($memberId)) { 5 return redirect()->route('index'); 6 } 7 8 //未ログインの時 9 $e_mail = $request->input('e-mail'); 10 $password = $request->input('password'); 11 $member = Member::where('e-mail', $e_mail)->first(); 12 13 //ログイン判別 14 if (isset($member)) { 15 if ($password == $member['password']) { 16 session(['member_id' => $member['id']]); 17 return redirect()->route('index'); 18 } else { 19 return view('login')->with('not_password', true); 20 } 21 } else { 22 return view('login')->with('not_member', true); 23 } 24 }
他のアクションにリダイレクトした際もセッションを保持していたいので、
グローバルヘルパ関数を使用して
session(['member_id' => $member['id']]);
としておりますが、
名前づけしたindex
のアクションに飛ぶとセッションが保持されておらずnull
が返ってきます。
formでe-mail
やpassword
のPOSTはできております。(確認済み)
ファザードを利用して方がいいのでしょうか?
その場合該当部分がSession::put('member_id', $member['id'])
となると思うのですが、
インクルードするファイルがネット調べても見つからず出てきたのはuse Session
でした。
これを入れてもVSCode上ではエラーです。。
Laravel初学者ですが、よろしくお願いします。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。