【问题标题】:View is not loaded in codeigniter and redirect() method not working too视图未在 codeigniter 中加载,redirect() 方法也不起作用
【发布时间】:2016-12-30 13:55:39
【问题描述】:

我正在集成 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);
    }

【问题讨论】:

  • 你可以试试redirect('Order/ccavenue_request_handler');而不是 redirect('Order/ccavenue_request_handler','refresh');请删除 $this->cart->destroy();和重定向('home','refresh');

标签: php codeigniter codeigniter-2 codeigniter-3


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-12
    • 2012-01-31
    • 2013-01-10
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多