簡體   English   中英

如何在Codeigniter中顯示FlashData

[英]How to display flashdata in codeigniter

以下是我的觀點,我正在從模型中捕獲數據,並在codeigniter中使用flashdata在觀點上顯示

我的控制器cart.php

 public function coupon(){
    for ($i = 0; $i <= $this->input->post("products_in_cart"); $i++) {

        if (!empty($this->input->post("coupn-" . $i))) {

            $couponname = $this->input->post("coupn-" . $i);
            $products_id = $this->input->post("product_id" . $i);

            $data = $this->home_model->getCoupon($couponname, $products_id);
            $data1 = 'hello';
            $info = array(
                "PromotioanlName" => $data->PromotionalName,
            );
        } else {

            $info = 'Thers in no value<br>';
        }



    }
    echo $this->session->set_flashdata('message', $info);
    redirect(site_url('cart'));
}

我的看法cart.php

 $message = $this->session->flashdata('message');
  print_r($message);

但是我的問題是我的數據被下一個值覆蓋

for循環中,您已經編寫了if和in if$info是一個數組,在else$info是字符串! 因此, if條件為true,則在循環中使用,它將作為數組工作,如果條件在第二次循環中再次為true,它將被覆蓋! 當條件為false時,它將返回將覆蓋數組的字符串。

嘗試使用$info[]代替$info ..可能是解決了您的問題。

public function coupon(){
    for ($i = 0; $i <= $this->input->post("products_in_cart"); $i++) {

        if (!empty($this->input->post("coupn-" . $i))) {

            $couponname = $this->input->post("coupn-" . $i);
            $products_id = $this->input->post("product_id" . $i);

            $data = $this->home_model->getCoupon($couponname, $products_id);
            $data1 = 'hello';
            $info[] = array(
                "PromotioanlName" => $data->PromotionalName,
            );
        } else {

            $info[] = 'Thers in no value<br>';
        }



    }
    echo $this->session->set_flashdata('message', $info);
    redirect(site_url('cart'));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM