如何在 Laravel 中檢查 Cookie 是否已設定?


當您訪問網頁時,它通常會生成包含少量資料(例如使用者名稱和密碼)的文字檔案,並將它們儲存在使用者的瀏覽器上。這些被稱為 Cookie,它們用於識別使用者系統,並且可以被 Web 伺服器或客戶端計算機(儲存 Cookie 的計算機)訪問。

  • 儲存在 Cookie 中的資訊特定於 Web 伺服器。

  • 連線到伺服器後,會建立一個帶有唯一 ID 的 Cookie 並將其儲存在您的計算機上。

  • 一旦 Cookie 在客戶端交換/儲存,如果您再次連線到伺服器,它將根據儲存的 Cookie 識別您的系統。

  • 這有助於伺服器為特定使用者提供個性化的頁面。

示例 1

以下示例建立了一個 Cookie 並驗證它是否已設定。

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Cookie; class UserController extends Controller { public function index(Request $request) { Cookie::queue('msg', 'cookie testing', 10); echo $value = $request->cookie('msg'); } }

輸出

以上程式碼的輸出為:

示例 2

另一種測試 Cookie 是否已設定的方法可以在以下示例中看到:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Cookie; class UserController extends Controller { public function index(Request $request) { Cookie::queue('msg', 'cookie testing', 10); return view('test'); } }

test.blade.php

<!DOCTYPE html> <html> <head> <style> body { font-family: 'Nunito', sans-serif; } </style> <head> <body class="antialiased"> <div> {{ Cookie::get('msg') }} </div> </body> </html>

輸出

以上程式碼的輸出為:

示例 3

使用 hasCookie() 方法測試給定的 Cookie 是否已設定。

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Cookie; class UserController extends Controller{ public function index(Request $request) { if($request->hasCookie('msg')) { echo "Cookie present"; } else { echo "Cookie msg is not set"; } } }

輸出

Cookie present

示例 4

另一個測試 Cookie 設定的示例。

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Cookie; class UserController extends Controller{ public function index(Request $request) { return view('test'); } }

Test.blade.php

<!DOCTYPE html> <html> <head> <style> body { font-family: 'Nunito', sans-serif; } </style> </head> <body class="antialiased"> <div> @if (Cookie::get('msg') !== false) <p>cookie is present.</p> @else <p>cookie is not set.</p> @endif </div> </body> </html>

輸出

以上程式碼的輸出為:

cookie is present.

更新於: 2022年8月30日

3K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告