Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

404 Page Not Found codeigniter url

I am a beginner using codeigniter. I am using following url "http://localhost/ci/index.php/shopcart" to access the controller and I am getting error 404 page not found

Controller Code

     <?php

    class Cart extends CI_Controller { // Our Cart class extends the Controller class

        function Cart()
        {
            parent::CI_Controller(); // We define the the Controller class is the parent. 

        }


    }

        function index()
        {
            $this->load->model('cart_model'); // Load our cart model for our entire class 
            $data['products'] = $this->cart_model->retrieve_products(); // Retrieve an array with all products
            $data['content'] = 'cart/products'; // Select our view file that will display our products
            $this->load->view('index', $data); // Display the page with the above defined content
        }
?>

Model Code

<?php 

class Cart_model extends Model { // Our Cart_model class extends the Model class
// Function to retrieve an array with all product information
    function retrieve_products(){
        $query = $this->db->get('products'); // Select the table products
        return $query->result_array(); // Return the results in a array.
    }  

}

Route

$route['default_controller'] = "shopcart";

autoload

$autoload['libraries'] = array('cart' , 'database');
$autoload['helper'] = array('form');
like image 476
Hammad Halim Avatar asked Mar 17 '15 09:03

Hammad Halim


3 Answers

codeigniter works on base_url~/index.php/class_nm/function/segment3. Now in your case change file name Cart.php.

localhost/ci/index.php/cart/index

and make sure your function index is public, I guess it will fix your problem :)

like image 93
Ian Patel Avatar answered Oct 13 '22 19:10

Ian Patel


You are getting the 404 page not found error because controller "shopcart" is not defined. Instead you have defined a controler "cart". So you should try localhost/ci/index.php/cart instead.

like image 1
SachinSunny Avatar answered Oct 13 '22 17:10

SachinSunny


Try adding the url helper as well. That works for me!

like image 1
Shimanyi Valentino Avatar answered Oct 13 '22 18:10

Shimanyi Valentino