重定向后会话值丢失。我从pay_order方法重定向到do_payment方法。当我在do_payment方法中打印会话值时,它返回false。只需简单调用do_payment方法即可显示会话值。请帮忙重定向有什么问题..?
function pay_order($order_id)
{
$this->load->helper('url'); //loading url helper
$this->load->library('session');//loading session lib
$this->load->library('cart'); //loading cart lib
$this->load->helper('form');//loading form helper
$output = $this->cart->contents();// getting data from cart.
$output = $this->sort_array($output);// sorting the array
$list['data'] = $output;
$list['order_id'] = $order_id;
$this->session->set_userdata('abc', $list);// setting the session
redirect('checkout/do_payment'); // redirecting to do_payment
}
function do_payment()
{
$this->load->helper('url'); //loading url helper
$this->load->library('session'); //loading session library
$arr = $this->session->userdata('abc');// getting session data in $arr
var_dump( $arr );// return false value.
//$this->load->view('order/pay_through_gateway');
}
当我从pay_order方法重定向时,会话在do_payment方法中不可用。为什么呢?
答案 0 :(得分:1)
出现问题,请检查您正在设置会话的方法pay_order()
中的行。
$list['order_id'] = $order_id
$this->session->set_userdata('abc', $list);// setting the session
在那之前你错过了分号。一切都很好。
<强>更新强>
我认为没有错误,检查在会话中存储值时是否可能有空值。并按照do_payment()
方法中的代码检查值。
function do_payment(){
$this->load->library('session'); //loading session library
$arr = $this->session->userdata('abc');// getting session data in $arr
print_r( $arr );// print the $arr content
}
答案 1 :(得分:0)
改变这个:
$list['order_id'] = $order_id
对此:
$list['order_id'] = $order_id;
你有一个分号丢失。由于重定向,您没有看到任何错误。