在codeigniter中没有加载视图,redirect()方法也没有加载

时间:2016-12-30 13:55:40

标签: php codeigniter codeigniter-2 codeigniter-3

我正在集成ccavenue,我必须将订单数据发送到 ccavenue_request_handler_view ,但该视图由于某种原因未加载...

我不知道导致错误的原因。现在我只在该视图文件中显示了一个 h1 标记,该标记也无效。

//order.php controller

$grand_total = 0;
                  $order_id = now();
                  $ccavenue_send_data = array();
                  if ($cart = $this->cart->contents())
                  {
                      $cart_item = $this->cart->total_items();

              foreach ($cart as $cart_item)
              {
                  $itemid=$cart_item['id'];
                  $quantity = $cart_item['qty'];
                  $item_price = $cart_item['price'];

                  $total = $item_price*$quantity;

                  $shipping_cost = $this->get_shipping_cost($itemid,$quantity);
                  $pay_amount = $total+$shipping_cost;

                  $grand_total += $pay_amount; 

                  if($cart_item > 1)
                  {
                      $order_type="bulk";
                  }
                  else
                  {
                      $order_type="single";
                  }

                  $order_data = array(
                      'order_id' => $order_id,
                      'email'   => $Email,
                      'customer_type'   => $customer_type,
                      'payment_id'   => $payment_id,
                      'payment_method'   => $payment_method,
                      'address_id'   => $add_id,
                      'order_type'   => $order_type,
                      'order_group'   => 0,
                      'order_status'   => "processing",
                      'active'   => 0,
                      'return_id'   => 0,
                      'coupon_id'   => $Coupon,
                      'coupon_discount'   => $coupon_discount ,
                      'total_amount'   => $total,
                      'pay_amount'   => $pay_amount,
                      'shipping_date'   => "2017-12-28 06:12:10",
                      'item_id'   => $itemid,
                      'item_quantity'   => $quantity,
                      'shipping_charge'   => $shipping_cost,
                      'order_modified'   => $Contact
                  );

                   $this->order_model->add_order($order_data);
              }

              $ccavenue_send_data = array(
                  'tid' => $order_id,
                  'merchant_id' => 'xxxxx',
                  'order_id' => $order_id,
                  'amount' => $grand_total,
                  'currency' => 'INR',
                  'redirect_url' => base_url().'index.php/Order/return_from_ccavenue',
                  'cancel_url' => base_url().'index.php/Order/cancel_from_ccavenue',
                  'language' => 'EN',
                  'billing_name' => $Fname,
                  'billing_address' => $Address1.'&&'.$Address2,
                  'billing_city' => $City,
                  'billing_state' => 'Gujarat',
                  'billing_zip' => $Zip,
                  'billing_country' => 'India',
                  'billing_tel' => $Contact,
                  'billing_email' => $Email,
                  'delivery_name' => $Fname,
                  'delivery_address' => $Address1.'&&'.$Address2,
                  'delivery_city' => $City,
                  'delivery_state' => 'Gujarat',
                  'delivery_zip' => $Zip,
                  'delivery_country' => 'India',
                  'delivery_tel' => $Contact,
                  'promo_code' => $Coupon
              );
              $this->session->set_userdata('ccavenue_send_data',$ccavenue_send_data);             
          }

          //$data['ccav_request_data'] = $ccavenue_send_data ;

          // $this->load->view('ccavRequestHandler_view',$data); --> loading view is not working so i tried redirect method by storing data in session which is not working too

           redirect('Order/ccavenue_request_handler','refresh');

          $this->cart->destroy();
          redirect('home','refresh');

这是重定向的地方,如果有效的话......

function ccavenue_request_handler()
    {
        $data['post_data'] = $this->session->userdata('ccavenue_send_data');
        $this->load->view('ccavRequestHandler_view',$data);
    }

1 个答案:

答案 0 :(得分:1)

在codeigniter中你必须手动重定向路由它不应该像这样redirect('home','refresh');它应该是这样的 - 如果你配置你的base_url它可以像这样 - redirect(base_url()."order/ccavenue_request_handler");或者如果base_url不是已配置redirect('http://yourprojectname/order/ccavenue_request_handler');