Php 使用不同的表对laravel 5中的用户进行身份验证
我在mysql中创建了名为subscribers的单独表,将config/auth.php设置更改为'model'=>App\subscribers::class',table'=>'subscribers'。 我在主页上有一个登录表单,提交到主页。 所以在我下面的路线中Php 使用不同的表对laravel 5中的用户进行身份验证,php,laravel-5,Php,Laravel 5,我在mysql中创建了名为subscribers的单独表,将config/auth.php设置更改为'model'=>App\subscribers::class',table'=>'subscribers'。 我在主页上有一个登录表单,提交到主页。 所以在我下面的路线中 Route::get('/', function () { return view('home'); }); Route::post('/', 'LoginController@validate'); 我的登录控制
Route::get('/', function () {
return view('home');
});
Route::post('/', 'LoginController@validate');
我的登录控制器
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
public function validate()
{
// attempt to do the login
$auth = Auth::attempt(
[
'email' => strtolower(Input::get('email')),
'password' => Hash::make(Input::get('password'))
]
);
if ($auth) {
return Redirect::to('dashboard');
}
}
}
当我登录时,我得到下面的错误
App\Http\Controllers\LoginController::validate()的声明应与App\Http\Controllers\Controller::validate兼容(照亮\Http\Request$Request,数组$rules,数组$messages=array,数组$customAttributes=array)不能将“validate”用作函数的名称。它将与以下内容相冲突:
App\Http\Controllers\Controller::validate
另外,在if语句中添加一个“else”,这样,如果身份验证失败,您可以将用户重定向回登录屏幕。将您的函数重命名为其他函数,然后进行“验证”。我想这就是为什么你会有这个问题。别忘了将路由更改为。好的,让我试试,同样在我的if Auth::trunt()中,IDE告诉我函数未定义。你知道我需要把什么放在顶部“使用”吗?你为什么不使用来自laravel的内置身份验证。或者你想做一些关于身份验证的特别的事情吗?我在学习laravel的同时构建了它,我已经用很多信息构建了订户模型和db表,所以我想用该表进行身份验证。更改函数后不会显示错误,但当我点击login时会显示空白页