我正在使用Laravel 5.6并面临一些问题。如果在数据库匹配中找到email
和password
然后重定向,我想验证用户。如果用户存在,则重定向到"user1"
,否则重定向到"/"
:还附加了迁移文件
路线
Route::any('/user1','UserProfile@store');
Route::get('/login','StudentController@index');
调节器
public function store(Request $request)
{
$info = array(
"Email" => $request->get("email"),
"password" => $request->get("password")
);
$info = DB::table("students")->where($info)->first();
if(!$info){
$data = array(
"user_email" => $info->Email,
"user_password" => $info->password,
"user_id" => $info->Student_id
);
$request->session()->put($data);
$request->session()->get('user_email');
//echo $val=$request->session()->get('user_id');die;
// print_r($data);die;
return redirect('/user1');
} else {
return redirect('/');
}
}
迁移
public function up()
{
Schema::create('students', function (Blueprint $table) {
$table->string('Name');
$table->string('Student_id');
$table->string('Email');
$table->string('Department');
$table->string('Gender');
$table->string('password');
$table->timestamps();
});
}
if(!$info)
是倒退的逻辑;你试图从$data
创建null
(->first()
将返回一个stdClass
对象或null
,取决于它找到的内容,并且该代码只有在$info
是null
时才会执行)。
它应该是
if($info){
$data = array(
"user_email" => $info->Email,
"user_password" => $info->password,
"user_id" => $info->Student_id
);
$request->session()->put($data);
$request->session()->get('user_email');
return redirect('/user1');
} else {
return redirect('/');
}