Php Laravel-控制器未从表单获取请求

Php Laravel-控制器未从表单获取请求,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有以下表格: <form action="{{route('login')}}" id="loginForm" method="POST"> <div class="text-center" style="font-size: 30px; font-family: 'Poppins', sans-serif;">Login</div><br /> <div class="input-group">

我有以下表格:

<form action="{{route('login')}}" id="loginForm" method="POST">
           <div class="text-center" style="font-size: 30px; font-family: 'Poppins', sans-serif;">Login</div><br />
        <div class="input-group">
            <span class="input-group-label"><i class="fa fa-envelope"></i></span>
            <input class="input-group-field" id="lemail" name="lemail" placeholder="Insert your email" type="email" required>
        </div>
        <p class="help-text" id="email">Type in your email and password to log in.</p>

        <div class="input-group">
            <span class="input-group-label"><i class="fa fa-lock"></i></span>
            <input class="input-group-field" id="lpassword" name="lpassword" placeholder="Type in your password" type="password" required>
        </div>

        <input type="hidden" name="_token" value="{{ csrf_token() }}">
        <br />
        <div class="align-center">
        <button type="submit" class="button secondary align-center" href="#">Login</button>
        </div>
    </form>
这就是功能:

public function login(Request $request)
    {
        $this->validate($request, [
            'lemail' => 'required|string|email|max:255',
            'lpassword' => 'required|string|min:6|max:128',
        ]);

        $email = $request->input('lemail');
        $password = $request->input('lpassword');

        if (Auth::attempt(['email' => $email, 'password' => $password])) {

            // Authentication passed...
            return redirect()->intended('/home')
                ->with('flash_notice', 'You are successfully logged in.');
        }

        return redirect()->intended('/')
            ->with('flash_error', 'Your username/password combination was incorrect.');
    }
问题是,在我填写字段并发送表单后,它告诉我电子邮件和密码字段是空的,但它们不是空的

这只有在我设置“动作”并像那样执行路由时才会发生,否则效果很好。 我这样做是因为我在页脚中有它,我希望它在所有页面上都能工作,但我无法让它工作。

将您的路线用作:

Route::post('/', 'LoginUser@login')->name('login');
使用您的路线:

Route::post('/', 'LoginUser@login')->name('login');

在你的路线上说出你的名字

Route::post('/', [
   'as' => 'login',
   'uses' => 'LoginUser@login'
])->name('login');

而且我认为你忘记了你的{{csrf_field()}}在你的表单或令牌中:)

在你的路线中给出名字

Route::post('/', [
   'as' => 'login',
   'uses' => 'LoginUser@login'
])->name('login');
我还认为您在表单或令牌中忘记了{{csrf_field()}

  • 在输入标记中添加名称属性
  • 在登录函数中添加dd($request)。您必须稍后删除它们
  • 在“请求”数组的dd输出中,您将看到从刀片服务器转发的参数值
  • 在输入标记中添加名称属性
  • 在登录函数中添加dd($request)。您必须稍后删除它们
  • 在“请求”数组的dd输出中,您将看到从刀片服务器转发的参数值

  • 表单中的post url是什么?呈现后?@Coco您是否在
    {{route('login')}}
    之后检查了生成的路由?你查过你的路线表了吗<代码>php artisan路由:list。我做了
    {{action('LoginUser@login“)}}
    它可以工作,好吗?您使用的是哪个laravel版本?您使用的是内置的laravel登录/auth功能吗?您是否有
    Route::auth()在您的路由文件中?也许它们相互冲突?表单中的帖子url是什么?呈现后?@Coco您是否在
    {{route('login')}}
    之后检查了生成的路由?你查过你的路线表了吗<代码>php artisan路由:list
    。我做了
    {{action('LoginUser@login“)}}
    它可以工作,好吗?您使用的是哪个laravel版本?您使用的是内置的laravel登录/auth功能吗?您是否有
    Route::auth()在您的路由文件中?也许它们相互冲突?它仍然告诉我字段是空的。它仍然告诉我字段是空的