【问题标题】:Can't redirect URL on Google Chrome browser无法在 Google Chrome 浏览器上重定向 URL
【发布时间】:2020-12-07 13:21:46
【问题描述】:

我想在付款后重定向,我的页面已经检查了一些发布数据[付款状态]和会话以重定向到同一站点中的其他页面。

在其他浏览器中搜索 Safari(mobile)、FirefoxMS Edge,效果很好。但在 Google Chrome 中无法在 header('')

中加载页面

这是我的代码

<?php
session_start();
if($_SESSION['PAYMENT_PRODUCTTYPE'] == "TA")
{
    if($_POST['payment_status'] == '000' )
    { 
        header('Location: /travel_insurance/thankyou');
        exit;
    }
}
?>

[更新]

这是我的工作流程

我搜索了很多方法来解决这个问题,我不确定。可能是因为浏览器更新。 我尝试在应用程序虚拟主机中添加Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=None,但对我不起作用。

请帮我解决它,或者给我一些理由:)

【问题讨论】:

  • 是否有任何重定向到另一个网站的付款过程?
  • @Crezzur - 你为什么要链接到一个没有任何接受甚至赞成的答案的问题?据我所知,这个问题没有得到解答。
  • @Crezzur - 哪个答案?那个答案有什么说缺少OP?如果我在这里测试发布的代码,它实际上在所有浏览器中都可以正常工作。
  • 当你在 Chrome 中测试时,会发生什么?您是否检查过是否有任何 if 语句的评估结果不正确,并且所有变量都包含您期望的内容?据我所知,发布的代码中没有任何内容会使其在不同浏览器中的行为有所不同。
  • @ArashShiri - cookie 与重定向有什么关系?还是您指的是会话cookie?我假设(虽然可能是一个错误)这段代码与他们的其他代码(比如他们设置会话数据的位置)在同一个站点上,所以我不确定在这种情况下这将是一个问题。不过我们知道的还不够。 OP 需要进行更多调试以查看该代码在哪里失败。

标签: php google-chrome session post browser


【解决方案1】:

在脚本顶部使用ob_start(); brfotr session_start();

<?php
ob_start();
session_start();
if($_SESSION['PAYMENT_PRODUCTTYPE'] == "TA")
{
    if($_POST['payment_status'] == '000' )
    { 
        header('Location: /travel_insurance/thankyou');
        exit;
    }
}
?>

【讨论】:

  • 他们为什么需要这样做以及如何在 PHP 中启动输出缓冲使重定向在不同浏览器中的行为有所不同?
猜你喜欢
  • 2010-12-18
  • 2012-02-12
  • 1970-01-01
  • 2015-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 2013-11-18
相关资源
最近更新 更多