Home > OS >  Controllers are not working in codeigniter php while routing
Controllers are not working in codeigniter php while routing

Time:10-26

Routes.php

while routing to other routes this error showed up

The requested URL was not found on this server

why do I get this error?

In routes.php setAutoRoute is set to "true" but the routes did not connect to the controllers. Main root D:/xampp/htdocs/cresentLake/

<?php

namespace Config;

// Create a new instance of our RouteCollection class.
$routes = Services::routes();

// Load the system's routing file first, so that the app and ENVIRONMENT
// can override as needed.
if (file_exists(SYSTEMPATH . 'Config/Routes.php'))
{
    require SYSTEMPATH . 'Config/Routes.php';
}

/**
 * --------------------------------------------------------------------
 * Router Setup
 * --------------------------------------------------------------------
 */
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->setAutoRoute(true);

/*
 * --------------------------------------------------------------------
 * Route Definitions
 * --------------------------------------------------------------------
 */

// We get a performance increase by specifying the default
// route since we don't have to scan directories.
$routes->get('/', 'Home::index');
$routes->add('login', 'Home::login');
$routes->add('change-password/(.*)', 'Home::change_password');
$routes->add('logout', 'Home::logout');
$routes->add('available_inventory', 'Inventory::available_inventory');
$routes->add('sold_inventory', 'Inventory::sold_inventory');
$routes->add('reserved_inventory', 'Inventory::reserved_inventory');
$routes->add('agent_deal', 'Inventory::agent_deal');
$routes->add('employee_deal', 'Inventory::employee_deal');
/*
 * --------------------------------------------------------------------
 * Additional Routing
 * --------------------------------------------------------------------
 *
 * There will often be times that you need additional routing and you
 * need it to be able to override any defaults in this file. Environment
 * based routes is one such time. require() additional route files here
 * to make that happen.
 *
 * You will have access to the $routes object within that file without
 * needing to reload it.
 */
if (file_exists(APPPATH . 'Config/' . ENVIRONMENT . '/Routes.php'))
{
    require APPPATH . 'Config/' . ENVIRONMENT . '/Routes.php';
}

CodePudding user response:

I suggest you, a read to the Code Standards of CI4. May be Controllers could help you.

Other things: see the default entry function of Controller. By default is called "Index" or "Main", depends on CI4 version

CodePudding user response:

Based on CI4 routing , perhaps you can try to $routes->get('... instead of $routes->add('...

  • Related