变量$ data可能尚未定义

时间:2018-10-11 19:29:01

标签: php laravel

好像我已经定义了$ data,但是为什么会出现这个错误?

    public function login(Request $request){
    if($request->isMethod('post'))
        $data = $request->input();

        if (Auth::attempt(['email'=>$data['email'], 'password'=>$data['password'],'admin'=>'1']))
        {
            echo "Success";
        }
        else
        {
            echo "Failed";
        }
    return view('admin.admin_login');
}

1 个答案:

答案 0 :(得分:4)

您需要在if

后面加上方括号
if($request->isMethod('post')) { //<--HERE
    $data = $request->input();

    if (Auth::attempt(['email'=>$data['email'], 'password'=>$data['password'],'admin'=>'1']))
    {
        echo "Success";
    }
    else
    {
        echo "Failed";
    }
} //<--HERE

按照代码的方式,如果条件不成立,则您有一个未定义的变量$data

PS:您不需要检查请求方法是否为“ post”。更好的方法是在路由中定义此接受的方法是post还是get。