我在Laravel 5:中收到此错误
SQLSTATE[42S02]:找不到基表或视图:1146表"intern.users"不存在(SQL:select*from users where username=admin limit 1(
config/database.php
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'intern',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
管理页面调用函数admin,其中提到数据库表作为admin,因为其中有许多表。
public function admin(Request $request){
if($request->isMethod('get')){
return 'View::make('student.admin');
} else
{
$check=0;
$check='DB::table('admin')->get();
$username = Input::get('username');
$password = Input::get('password');
$data=array(
'username'=>$request->get('username'),
'password'=>$request->get('password')
);
if('Auth::attempt($data))
{
return redirect::intended('student/index');
}
else
{
return redirect('student/admin');
}
}
}
表单在这里:
<div id="pageContent"><br />
<div align="left" style="margin-left:24px;">
<h2>Please Log In To Manage</h2>
{!! Form::open(array('url' => '/admin')) !!}
<input type="hidden" name="_token" value="{{ csrf_token() }}">
User Name:<br />
<input name="username" type="text" id="username" size="40" />
<br /><br />
Password:<br />
<input name="password" type="password" id="password" size="40" />
<br />
<br />
<br />
<input type="submit" name="button" id="button" value="Log In" />
{!! Form::close() !!}
首先,您应该散列并创建用户详细信息,以使列为身份验证做好准备。
在这里我给出了实现它的步骤。
步骤1:获取输入
$UserData = Input::all();
步骤2:创建条目-插入用户表
User::create($UserData);
注意:
您应该在users
表中有以下列
- 电子邮件
- 密码
- 创建日期
- 更新日期
附加设置:
在你的User.php(Model(中有这行
protected $fillable = ['email', 'password'];
这是我给你的小登录代码,对你来说足够简单
如果你希望,请尝试一下
$email = $this->request->input('email');
$password = $this->request->input('password');
if (Auth::attempt(['email' => $email, 'password' => $password])) #If the Credentials are Right
{
return redirect::intended('student/index'); #Your Success Page
}
else
{
return redirect('student/admin'); #Your Failure Page
}
推荐:
我还建议在创建之前验证用户输入
附加说明:
如果你看到你的表,如果你的密码是加密的,这意味着你已经完成了;(