Я использую функцию ниже, чтобы добавить товар в корзину (который сейчас является массивом, который будет сохранен в сессии позже).Все работает нормально, только проблема в том, что когда я нажимаю кнопку " Добавить + ", он сохраняет все значения в массиве, но после этого выдает пустую страницу.
Мой контроллер
if($action == 'Add+') {
if($this->session->userdata('cart')== ''){
$image=$this->input->post('hidden_image');
$name= $this->input->post('hidden_name');
$price= $this->input->post('hidden_price');
$cat= $this->input->post('hidden_cat');
$id= $this->input->post('hidden_id');
$product = array("name"=>$name, "price"=>$price, "id"=>$id, "image" => $image,"cat"=>$cat);
$item= array("0"=>$product);
$this->session->set_userdata('cart',$item);
}
else{
$count= count($this->session->userdata('cart'));
$name= $this->input->post('hidden_name');
$price= $this->input->post('hidden_price');
$id= $this->input->post('hidden_id');
$image=$this->input->post('hidden_image');
$cat= $this->input->post('hidden_cat');
$product = array("name"=>$name, "price"=>$price, "id"=>$id, "image" => $image,"cat"=>$cat);
$item= array($count=>$product);
$data = $this->session->userdata('cart');
$_SESSION["cart"][$count] = $product;
}
}
if($action == 'View') {
$image=$this->input->post('hidden_image');
$name= $this->input->post('hidden_name');
$price= $this->input->post('hidden_price');
$id= $this->input->post('hidden_id');
$cat= $this->input->post('hidden_cat');
$product = array("name"=>$name, "price"=>$price, "id"=>$id, "image" => $image,"cat"=>$cat);
$this->load->view('product_head');
$this->load->view('header',$product);
$this->load->view('product',$product);
}
Мой взгляд
<?php $data= array ('id'=>'productform');
echo form_open_multipart('loader/product',$data);
$data = array(
'type' => 'hidden',
'name' => 'hidden_cat',
'value' => $row->category);
$val = set_value('hidden_cat');
echo form_input($data, $val);
$data = array(
'type' => 'hidden',
'name' => 'hidden_name',
'value' => $row->name
);
$val = set_value('hidden_name');
echo form_input($data, $val);
$data = array(
'type' => 'hidden',
'name' => 'hidden_image',
'value' => $row->image
);
$val = set_value('hidden_image');
echo form_input($data, $val);
$data = array(
'type' => 'hidden',
'name' => 'hidden_id',
'value' => $row->id
);
$val = set_value('hidden_id');
echo form_input($data, $val);
$data = array(
'type' => 'hidden',
'name' => 'hidden_price',
'value' => $row->price
);
$val = set_value('hidden_price');
echo form_input($data, $val);
$data = array(
'name' => 'action',
'style' => ' background-color: #4CAF50; border: none;',
'value' => 'View'
);
echo form_submit($data);
$data = array(
'name' => 'action',
'style' => ' background-color: #4CAF50; border: none;',
'id' => 'addbtn'
);
echo form_submit($data);
echo form_close();
?>
Я хочу, чтобы после успешной формы отправил егооставайтесь на той же странице в том же месте, потому что есть много страниц, которые имеют эти скрытые формы для каждого продукта.