我正在使用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。我不知道自己做错了什么。请帮我解决。
答案 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." />";