お世話になってます。
今、認証ログイン画面を作成しています。
Authファザードのattemptメソッドを使用し
メールとパスワード認証したいのですが、
下記のようなエラーが出て困っております。
ご教示お願いできないでしょうか?
<やりたいこと>
ログイン時のパスワード等のチェック
<エラー名>
ReflectionException
Function () does not exist
(関数がありません)
vendor\laravel\framework\src\Illuminate\Routing\RouteSignatureParameters.phpの22行目
下記参照願います。
public static function fromAction(array $action, $subClass = null) 19. { 20. $parameters = is_string($action['uses']) 21. ? static::fromClassMethodString($action['uses']) 22. : (new ReflectionFunction($action['uses']))->getParameters();** 23. 24. return is_null($subClass) ? $parameters : array_filter($parameters, function ($p) use ($subClass) { 25. return $p->getClass() && $p->getClass()->isSubclassOf($subClass); 26. }); 27. } 28.
<試した事>
app/config.php中のAuthクラスの存在は確認済み。
ルーチング内容等を再チェック。
blade
@extends('layouts.master_auth') @section('content') <div class="row" style="margin-top: 70px;> <div class="col-md-4 col-md-offset-4"> <h1>Sign In</h1> @if(count($errors) >0) <div class="alert alert-danger"> @foreach($errors->all() as $error) <p>{{ $error }}</p> @endforeach </div> @endif <form action="{{ route('user.signin') }}" method="post"> <div class="form-group"> <label for="email">E-Mail</label> <input type="text" id="email" name="email" class="form-control"> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" id="password" name="password" class="form-control"> </div> <button type="submit" class="btn btn-primary">Login</button> {{ csrf_field() }} </form> </div>
web.php
Route::post('/signin',[ 'user' => 'UserController@postSignin', 'as' => 'user.signin' ]);
controller
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\User; use Auth; class UserController extends Controller{ public function postSignin(Request $request){ $validateRules = [ 'email' => 'email|required|', 'password' => 'required|min:4', ]; $mess=mb_convert_encoding("必須項目です!","utf-8","sjis"); $mess2=mb_convert_encoding("メールアドレスの形式で入力してください!","utf-8","sjis"); $mess3=mb_convert_encoding("4文字以上で入力してください!","utf-8","sjis"); $validateMessages = [ "required" => $mess, "email" => $mess2, "password.min" => $mess3, ]; $this->validate($request, $validateRules, $validateMessages); if(Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])){ return redirect()->route('user.profile'); } return redirect()->back(); } }
回答3件
あなたの回答
tips
プレビュー