85372


laravelで勤怠管理システムを作成しており、認証機能Authを使ったログイン機能を記述しています。  
mysqlを使ったデータベースには、seederファイルでユーザーのデータを登録してあります。  
テストでログインを試みたのですが、ログインできず以下のようなエラーメッセージが出てしまいます。  
dd();で確認したところ、$emailと$passwordには設定どおりの値が入っていました。  
コードです。

[code]

    public function postLogin(Request $request)
    {
        $email = $request->email;
        $password = $request->password;
        if (Auth::attempt(['email' => $email, 'password' => $password])) {
            $user = Auth::user($request);
            return view('index', ['user' => $user]);
        } else {
            return redirect('/login', ['txt' => 'ログインに失敗しました。']);
        }
    }
    
[/code]

if (Auth::attempt(['email' => $email, 'password' => $password]))  
でAuthを呼び出した先でエラーになっているようなのですが、原因がつかめません。  
どなたかアドバイスを頂けると幸いです。  
よろしくお願いいたします。

[![TypeError

Symfony\\Component\\HttpFoundation\\RedirectResponse::__construct\(\):
Argument #2 \($status\) must be of type int, array given, called in
C:\\xampp\\htdocs\\attendance\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Redirector.php
on line
233](https://i.stack.imgur.com/rmMZi.png)](https://i.stack.imgur.com/rmMZi.png)


CC BY-SA 4.0
2021-12-27T14:49:37.607
85358
2021-12-28T07:12:01.197
50669
question
php laravel
laravelでログイン機能を実装したのですが、ログインできず、エラーになってしまいます。ログインを実現するにはどうすればよいですか？


エラーメッセージを見る限りAuth::attemptの処理は成功していると思います。  
そのあとのリダイレクト処理時に引数の型が違うためエラーが出ているのではないでしょうか？

> return view('index', ['user' => $user]);

上記のコード第2引数を確認してみてください。  
ユーザーの情報を配列で渡してしまっているので  
ユーザーIDなど渡せば解決すると思います。

推測ですがよろしければご参考までに。


CC BY-SA 4.0
2021-12-28T07:12:01.197
85372
2021-12-28T07:12:01.197
38270
85358
answer