在PHP中重定向URL

时间:2016-03-19 06:26:17

标签: php url redirect web

我正在使用php,mysql购买购物车,我的付款与CCAvenue集成。除了重定向URL外,一切都已完成。它会重定向到指定的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和客户的其他详细信息,例如客户姓名,地址等,我在此处未提及。

//在重定向到商家网站时,网址应为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";
  }

但问题是,我正在获取的网址

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

而不是

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

因为它我无法获得orderID。我不知道自己做错了什么。请帮我解决。

2 个答案:

答案 0 :(得分: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"

答案 1 :(得分:-1)

尝试:

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