我有一個帶有表單的模式,人們可以在其中添加他們的地址然后提交。表單的值正在通過該GET方法保存。我正在使用來自該輸入的值origin在我的 function.php 檔案中設定一個名為(也是輸入的名稱)的 cookie :
function action_init() {
$path = parse_url( get_option('siteurl'), PHP_URL_PATH );
$host = parse_url( get_option('siteurl'), PHP_URL_HOST );
$expiry = time() 36000;
$origin = isset($_GET['origin']) ? $_GET['origin'] : null;
if( ( $origin != null ) ) {
setcookie( 'origin', $origin, $expiry, $path, $host );
}
}
add_action( 'init', 'action_init' );
表單提交后,瀏覽器重定向到一個頁面,該頁面根據用戶的地址查詢結果。這一切正常。
我的問題是,在同一個搜索結果頁面上,我試影像這樣顯示用戶的地址:
if(isset($_COOKIE['origin'])) {
echo $_COOKIE['origin'];
};
第一次加載搜索結果頁面時,該 cookie 不會被呼叫到該頁面。只有當我重繪 瀏覽器時,它才最終顯示出來。
有沒有辦法讓我從第一頁加載開始就顯示該 cookie?
uj5u.com熱心網友回復:
表單提交后,瀏覽器重定向到查詢結果的頁面
聽起來這不是實際的重定向(第二個請求),而是您首先將表單資料提交到的位置。在這種情況下,當然 cookie 尚不可用 - 因為它只會在處理該請求時創建。
但是隨后您將通過 $_GET 獲得可用的值,因此在該實體中從那里獲取它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/348872.html
標籤:php WordPress的 饼干
