【问题标题】:Sending POST data from Codeigniter controller从 Codeigniter 控制器发送 POST 数据
【发布时间】:2013-07-28 19:16:31
【问题描述】:
我目前正在开发一个小型购物车,其中付款方式为cash on delivery,其他预付费方式为payment gateway。现在我的购物车的流程图是这样的
- 下订单,输入地址
- 选择付款方式(货到付款或预付)
- 如果货到付款确认订单
- 如果预付费,重定向到支付网关页面
因此,当客户选择一个选项时,控制器函数handlePayment() 会检查其是COD 还是Prepaid。如果它的COD 显示一个查看页面,或者如果它的prepaid,它应该重定向到带有POST 中所有必要数据的支付网关。
那么我怎样才能完成这项任务呢?
【问题讨论】:
标签:
codeigniter
controller
e-commerce
payment-gateway
【解决方案1】:
你必须写 if COD then $this->view->load('pagename);否则你必须调用另一个函数 $this->functionname($_POST);
【解决方案2】:
试试这个,它是你需要的粗略假设:
function handlePayment(){
if($this->input->post('type') == "COD"){
$data = array();
$data = $this->input->post(null);
$this->load->view('cod', $data);
}else if($this->input->post('type') == "prepaid"){
$data = array();
$data = $this->input->post(null);
$this->prepaidPayment($data);
}
}
function prepaidPayment($data){
//do something with the data which contains all the post variables
}
【解决方案3】:
不同的角度——你能先问他们货到付款或预付的问题吗?
然后使每个“路径”完全分开。
从长远来看,这对您的应用程序可能会更好,尤其是在它增长的情况下。
如果您可以在预付费轨道上进行更严格的表单验证,可能会有所帮助,
(例如,如果某些信息被用作信用卡验证的一部分)
与亲自付款的 COD 相比