如何删除 Laravel 5 中的会话
how to remove sessions in Laravel 5
我正在尝试删除一个基本会话,但它没有删除。这是代码
welcome.blade.php
@if(Session::has('key'))
{{ Session::get('key')}}
<a href="logout">Sign Out</a>
@else
please signin
@endif
</div>
我不知道如何删除会话。这是我用过的,但它不起作用 route.php
Route::get('/logout', function() {
$vv = Session::forget('key');
if($vv)
{
return "signout";
}
});
Session::forget()
不 return true/false。您可以删除 if
语句。
附带说明一下,如果您仅使用 Session
中的 user
键来存储当前登录的用户,则可以改用 Auth::user()
。
你可以试试Session::pull('key');
如果你想删除所有会话变量你可以使用Session::flush();
你应该使用这个方法
Route::get('/logout', function() {
Session::forget('key');
if(!Session::has('key'))
{
return "signout";
}
});
您可以使用 Request
参数,包含当前会话。这样你就可以通过键删除任何会话值:
use Illuminate\Http\Request;
Route::get('/logout', function(Request $request) {
//Uncomment to see the logs record
//\Log::info("Session before: ".print_r($request->session()->all(), true));
if ($request->session()->has('key')) {
$request->session()->forget('key');
}
//Uncomment to see the logs record
//\Log::info("Session after: ".print_r($request->session()->all(), true));
return redirect('/');
});
或者您可以删除会话中的所有值:
use Illuminate\Http\Request;
Route::get('/logout', function(Request $request) {
//Uncomment to see the logs record
//\Log::info("Session before: ".print_r($request->session()->all(), true));
$request->session()->flush();
//Uncomment to see the logs record
//\Log::info("Session after: ".print_r($request->session()->all(), true));
return redirect('/');
});
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class StudentRecord extends Controller
{
public function logout(Request $req)
{
if($req-session()->has('key'){
$req->session()->forget('key');
return redirect('/');
}
//Or simple
public function logout(Request $req)
{
//if($req-session()->has('key')
$req->session()->flush();
}
}
//Then Do this in your route file
Route:get("/logout",StudentRecord@logout);
<a href=" {{ url(logout)}}">logout</a>
我正在尝试删除一个基本会话,但它没有删除。这是代码
welcome.blade.php
@if(Session::has('key'))
{{ Session::get('key')}}
<a href="logout">Sign Out</a>
@else
please signin
@endif
</div>
我不知道如何删除会话。这是我用过的,但它不起作用 route.php
Route::get('/logout', function() {
$vv = Session::forget('key');
if($vv)
{
return "signout";
}
});
Session::forget()
不 return true/false。您可以删除 if
语句。
附带说明一下,如果您仅使用 Session
中的 user
键来存储当前登录的用户,则可以改用 Auth::user()
。
你可以试试Session::pull('key');
如果你想删除所有会话变量你可以使用Session::flush();
你应该使用这个方法
Route::get('/logout', function() {
Session::forget('key');
if(!Session::has('key'))
{
return "signout";
}
});
您可以使用 Request
参数,包含当前会话。这样你就可以通过键删除任何会话值:
use Illuminate\Http\Request;
Route::get('/logout', function(Request $request) {
//Uncomment to see the logs record
//\Log::info("Session before: ".print_r($request->session()->all(), true));
if ($request->session()->has('key')) {
$request->session()->forget('key');
}
//Uncomment to see the logs record
//\Log::info("Session after: ".print_r($request->session()->all(), true));
return redirect('/');
});
或者您可以删除会话中的所有值:
use Illuminate\Http\Request;
Route::get('/logout', function(Request $request) {
//Uncomment to see the logs record
//\Log::info("Session before: ".print_r($request->session()->all(), true));
$request->session()->flush();
//Uncomment to see the logs record
//\Log::info("Session after: ".print_r($request->session()->all(), true));
return redirect('/');
});
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class StudentRecord extends Controller
{
public function logout(Request $req)
{
if($req-session()->has('key'){
$req->session()->forget('key');
return redirect('/');
}
//Or simple
public function logout(Request $req)
{
//if($req-session()->has('key')
$req->session()->flush();
}
}
//Then Do this in your route file
Route:get("/logout",StudentRecord@logout);
<a href=" {{ url(logout)}}">logout</a>