2013-03-14 81 views
0

我目前正在处理一个正在添加到我们当前电子商务系统中的退货系统设计 - 而且我被卡在订单号变量所在的部分传递到谢谢页面。在处理表单后将变量传递给URL

目前,客户进入订单页面,点击返回链接(将它们发送到表单),这是一个设置的URL,订单号码动态添加到网址。然后将此订单号从表单发送至表单处理器,然后通过电子邮件向我们发送订单详细信息。

所有工作正常,直到重定向到谢谢页面。

的形式,我有:

if(isset($_POST['submitted'])) 
{ 
    if($formproc->ProcessForm()) 
{ 
    $formproc->RedirectToURL(); 
} 
} 

和形式的处理器,我有:

function RedirectToURL() 
{ 
$orderurl = $_POST['orderno']; 

    $url = 'thank-you.php?returnreq=' . $orderurl; 
    header("Location: $url"); 
    exit; 
} 

然而,这返回的感谢you.php页网址没有订单号,尽管订单号码被正确传递给处理器(因为它发送的电子邮件中包含正确的订单号)

感谢您的期待!

+0

尝试在RedirectToUrl()方法中执行一个'var_dump($ _ POST)',并确保删除'header'进行测试。 ordernr可能在某个地方没有设置或者区分大小写。 – 2013-03-14 11:12:54

+0

同时检查浏览器中的调试控制台以检查您收到的标题。 – TFennis 2013-03-14 11:23:40

回答

0

尝试发送订单号作为一个功能PARAM

function RedirectToURL($orderurl) 
{ 
$url = 'thank-you.php?returnreq=' . $orderurl; 
header("Location: $url"); 
exit; 
} 

变化也从FN呼叫,像

.... 
$formproc->RedirectToURL($_POST["orderno"]); 

.... 
+0

在原始问题和答案中,函数名称并不能正确表示函数的功能。 – TFennis 2013-03-14 11:21:58

+0

不幸的是我仍然收到没有附加orderurl/ordernumber的URL! – brii 2013-03-14 11:46:37

1

检查$ _ POST [ 'orderno']是ProcessForm方法未设置

+0

我已经检查过,没有在表格 – brii 2013-03-14 11:40:21

+0

的处理中没有设置变量也许重写规则删除了这个参数?或路由器模块? – 2013-03-14 15:24:31