【发布时间】:2021-07-04 16:32:42
【问题描述】:
我使用的是 Laravel 8.35.1,因此我无法在我的 Laravel 项目中销毁会话。我也有关于 cookie 设置和删除的问题。
我有3个主要功能
index() which returns the basic view which provide basic login form.
logincheck(Request $request) this function check the credentials provided from index() function form
sessionout(Request $request) it logout the current user.
请帮助提前谢谢。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Admin;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Redirect;
class CommonController extends Controller
{
public function index()
{
return view('index');
}
public function sessionout(Request $request)
{
$request->session()->forget('adm');
Redirect::route('homepage')->send();
}
public function logincheck(Request $request)
{
$responce=array('status'=>false,'message'=>'Request not valid');
if(!empty($request->username)&&!empty($request->password))
{
$admin=DB::table('admin')->where('username',$request->username)->first();
//return response()->json($admin);
if(empty($admin))
{
$responce['message']="User Not Found";
return response()->json($responce);
}
if(!Hash::check($request->password, $admin->password))
{
$responce['message']="invalid Password";
return response()->json($responce);
}
$responce['status']=true;
$responce['message']='Login Successfull';
$request->session()->put('adm', $admin);
cookie('admid', $admin->id, 120); //can't set cookies
return response($request->cookie('admid')); //checking if cookie is set and trying to get it's value if we will comment this then it will run the logincheck(Request $request) code and login will be successfull.
}
return response()->json($responce);
}
}
【问题讨论】: