如果 cookie 设置基于 url,则设置 cookie 和重定向

Set cookie and redirect if cookie set based on url

我是 运行 woocommerce/wordpress 并注意到客户刷新感谢页面导致 google 分析记录了多笔交易。

他们访问的url是:/checkout/order-received/24420/?key=wc_order_a5m1jzQDJLjjr

我想我需要使用该订单号设置 cookie。如果 cookie 存在,则在分析代码运行之前重定向。从而防止重新加载感谢页面..(我希望)

我不知道是谁从 url 中提取了数字 24420 并设置了一个 cookie。在 Cookie 上重定向我可以弄清楚。

谢谢

/J

检索订单ID

$order_id = wc_get_order_id_by_order_key( $_GET['key'] );

我建议使用会话而不是 cookie,这样您就可以执行类似

的操作
if(isset($_SESSION['order_'.$order_id])) {
    header("Location: /where-you-want");
    die;
} else {
    $_SESSION['order_'.$order_id] = 1;
}

请注意,在页面上的任何其他输出之前,都需要设置 Session 和 Cookies ,因此请确保您正在执行的代码 运行 已执行在打印任何 HTML 之前。