Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql使用laravel php检查数据库中的用户名和密码是否匹配_Php_Mysql_Laravel - Fatal编程技术网

mysql使用laravel php检查数据库中的用户名和密码是否匹配

mysql使用laravel php检查数据库中的用户名和密码是否匹配,php,mysql,laravel,Php,Mysql,Laravel,我有一个小问题,当用户尝试登录,但用户名和密码不匹配,在表中如何返回到登录页面与错误信息 login.blade.php <form class="login-box animated fadeInUp" action="valdateData" method="POST" > {{csrf_field()}} <div class="box-header"> <h2>Log In</h2> </di

我有一个小问题,当用户尝试登录,但用户名和密码不匹配,在表中如何返回到登录页面与错误信息

login.blade.php

<form class="login-box animated fadeInUp" action="valdateData" method="POST" >
    {{csrf_field()}}

    <div class="box-header">
        <h2>Log In</h2>
    </div>
     <label for="username">Username</label>
    <br/>
    <input type="text" id="username" name="username">
    <br/>
    <label for="password">Password</label>
    <br/>
    <input type="password" id="password" name="password">
    <br/>
    <button type="submit">Sign In</button>
    <br/>
    <a href="#"><p class="small">Forgot your password?</p></a>
</form>
Route::post('/testgetvalue','OrdersController@GetValues');
Route::get('/ES','OrdersController@PrepareIndex');
Route::get('/loginForm','LoginController@ShowLoginPage');
Route::post('/valdateData','LoginController@checkValidate');
Route::post('login/{id}','LoginController@ShowErrorMassege');
public function ShowLoginPage()
{
    return view('/loginForm');
}

public function checkValidate(Request $request)
{

    $username=$request->input('username');
    $password=$request->input('password');
    $isVald=true;

    $checkValdate = \DB::table('authentications')
                    ->where(['username'=>$username,'password'=>$password])
                    ->get();

    if(count($checkValdate) > 0)
    {
        $isVald=true;
        session()->set('UserValidate','true');
        session()->set('username',$username);
        //$value=session()->get('test');
        // echo "session "+$value;
        return redirect('/es');
    } else {
        return redirect('/login/'.$isVald);
    }
}
LoginController.php

<form class="login-box animated fadeInUp" action="valdateData" method="POST" >
    {{csrf_field()}}

    <div class="box-header">
        <h2>Log In</h2>
    </div>
     <label for="username">Username</label>
    <br/>
    <input type="text" id="username" name="username">
    <br/>
    <label for="password">Password</label>
    <br/>
    <input type="password" id="password" name="password">
    <br/>
    <button type="submit">Sign In</button>
    <br/>
    <a href="#"><p class="small">Forgot your password?</p></a>
</form>
Route::post('/testgetvalue','OrdersController@GetValues');
Route::get('/ES','OrdersController@PrepareIndex');
Route::get('/loginForm','LoginController@ShowLoginPage');
Route::post('/valdateData','LoginController@checkValidate');
Route::post('login/{id}','LoginController@ShowErrorMassege');
public function ShowLoginPage()
{
    return view('/loginForm');
}

public function checkValidate(Request $request)
{

    $username=$request->input('username');
    $password=$request->input('password');
    $isVald=true;

    $checkValdate = \DB::table('authentications')
                    ->where(['username'=>$username,'password'=>$password])
                    ->get();

    if(count($checkValdate) > 0)
    {
        $isVald=true;
        session()->set('UserValidate','true');
        session()->set('username',$username);
        //$value=session()->get('test');
        // echo "session "+$value;
        return redirect('/es');
    } else {
        return redirect('/login/'.$isVald);
    }
}
在这部分

return redirect('/login/'.$isVald);
如何返回带有错误消息的登录页面

谢谢


下面是一个如何执行的示例,具体取决于您的validatin规则。您还可以使用costum消息为每个错误定义部分,您还应该在控制器中使用“use Illumb\Support\Facades\Validator;”

您使用的是php artisan make:auth?否我使用的是自定义表您可以使用
with()
函数<代码>返回重定向('/login/'.$isVald)->带有('status','Error message!')然后您将在会话中拥有
状态