【问题标题】:Redirect URL in phpphp中的重定向URL
【发布时间】:2016-07-06 01:10:11
【问题描述】:

我正在使用 php、mysql 做一个购物车,我的支付集成是与 CCAvenue 的。一切都完成了,除了用 .它重定向到指定的 URL,但不捕获订单 ID。示例代码如下

//从结帐页面

$orderID=100 (unique ID fetched from database)
$orderID="AB".$orderID; // Prefixing alphabet to the orderID

//现在 $orderID 应该是 AB100,我打印检查了,结果是一样的。

echo '<form method="POST" name="customerData" action="ccavRequestHandler.php">';
echo <input type="hidden" name="redirect_url" value="http://mywebsite.com/success.php?orderno="'.$orderID.'"/>'; 
echo '<input type="submit" name="subOrder" value="Confirm and Pay"/>';             
echo '</form>';

//提交上面的表单会去ccavRequestHandler.php,并存储orderID和其他客户的详细信息,比如客户姓名,地址等我这里没有提到。

//重定向到商家网站时,URL应该是http://mywebsite.com/success.php?orderno=AB100

//来自成功页面,我正在尝试通过 $_GET 方法从 URL 中取回 orderID

//success.php代码如下

$selItem=0;
  if(isset($_GET["orderno"])) {
    $selItem='KP'.$_GET["orderno"];     
    echo "<br>";                                                
    $squery_images= "select * from orders where order_id=$selItem";
  }

但问题是,在我得到的 URL 中

http://mywebsite.com/success.php?orderno=

而不是

http://mywebsite.com/success.php?orderno=AB100

因此,我无法获取 orderID。我不知道我做错了什么。请帮我解决它。

【问题讨论】:

  • 如果你 echo $orderiddie() 会显示什么。是空的吗?还是打印 orderid?
  • echo $orderid;在结帐页面显示AB100,这是正确的。但只有在成功页面中它什么也没显示。

标签: php url redirect web


【解决方案1】:

换行

echo <input type="hidden" name="redirect_url"
      value="http://mywebsite.com/success.php?orderno="'.$orderID.'"/>';

通过

echo '<input type="hidden" name="redirect_url"
      value="http://mywebsite.com/success.php?orderno='.urlencode($orderID).'/>';

使用urlencode 将变量嵌入到 URL 中,并使用适当的附加运算符来构建链接。您使用了orderno="'.$orderID.'",它将在运行时转换为orderno="AB1290"

【讨论】:

  • 您好,我在 URL orderno='.$orderID.'"/>' 中更改了单引号和双引号;它可以工作
【解决方案2】:

尝试:

 echo "<input type='hidden' name='redirect_url' value='http://mywebsite.com/success.php?orderno=' ".$orderID." />";

【讨论】:

  • 试过这个。不工作。还是有同样的问题
猜你喜欢
  • 2011-02-08
  • 2016-11-23
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
相关资源
最近更新 更多