実現したいこと
ブログサイトのログイン画面作成中に起きたエラー解決
前提
PHP Laravelでログイン画面のエラーメッセージの作成中if文のところでエラーが起きてしまった。
発生している問題・エラーメッセージ
Trying to get property 'password' of non-object
該当のソースコード
SessionController.php
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use Illuminate\Support\Facades\Auth; 7use App\User; 8 9class SessionController extends Controller 10{ 11 public function create(){ 12 return view('session.create', [ 13 'title' => 'ログイン', 14 ]); 15 } 16 public function store(Request $request){ 17 $user = Auth::user(); 18 $id = Auth::id(); 19 $user = User::where('name', $request->name)->first(); 20 if($user->password !== $request->password){ 21 session()->flash('danger', 'ログインに失敗しました。'); 22 return redirect()->route('session.create'); 23 } 24 session()->put('user_id', $user->id); 25 return redirect()->route('posts.index'); 26 } 27 public function destroy(){ 28 session()->flush(); 29 return redirect()->route('session.create'); 30 } 31} 32
試したこと
20行目のif文の()の中が原因ということはわかっているのですが、どう変えればよいのかわかりません。
補足情報(FW/ツールのバージョンなど)
書き方が間違っているのは自分でも重々承知なのですがこの書き方でやる場合どのようにしたら良いのか教えていただけると幸いです。
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
退会済みユーザー
2023/03/20 09:39