dpkrai96
dpkrai96

Reputation: 93

Codeigniter: 404 on calling controller

Accessing Url-http://localhost:82/admin/login Then- I am getting 404 "Page not found error" i.e-

Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404

localhost Apache/2.4.9 (Win32) OpenSSL/0.9.8y PHP/5.4.27

My config.php

$config['base_url'] = 'http://localhost:82/admin';

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = '';

/*
|--------------------------------------------------------------------------
| URI PROTOCOL
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string.  The default setting of 'REQUEST_URI' works for most servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'REQUEST_URI'    Uses $_SERVER['REQUEST_URI']
| 'QUERY_STRING'   Uses $_SERVER['QUERY_STRING']
| 'PATH_INFO'      Uses $_SERVER['PATH_INFO']
|
| WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded!
*/
$config['uri_protocol']	= 'REQUEST_URI';

My routes.php

$route['default_controller'] = 'admin/index';
$route['404_override'] = '';
//$route['translate_uri_dashes'] = FALSE;


/*admin*/
//$route['admin'] = 'user/index';
//$route['admin/signup'] = 'user/signup';
//$route['admin/create_member'] = 'user/create_member';
$route['admin'] = 'admin';
//$route['admin/logout'] = 'admin/logout';


$route['package'] = 'package';

My controller Admin.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Admin extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/admin
	 *	- or -
	 * 		http://example.com/index.php/admin/index
	 *	- or -
	 * Since this controller is set as the default controller in
	 * config/routes.php, it's displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see https://codeigniter.com/user_guide/general/urls.html
	 */
       function __construct() {
        parent::__construct();
        $this->load->helper('url');
         $this->load->helper('form');
        $this->load->model('LoginModel');
       $this->load->library('session');
    }
      
      
    
	public function index()
	{
            if($this->session->userdata('is_logged_in')){
			redirect('package/packages');
        }else{
        	$this->load->view('admin/admin');	
        }
		
	}
          function __encrip_password($password) {
        return md5($password);
    }	
         /**
    * check the username and the password with the database
    * @return void
    */
        public function login()
	{	
      echo "hi"; exit;
		

		$user_name = $this->input->post('username');
		$password = $this->__encrip_password($this->input->post('password'));

		$is_valid = $this->LoginModel->validate($user_name, $password);
		
		if($is_valid)
		{
			$data = array(
				'user_name' => $user_name,
				'is_logged_in' => true
			);
			$this->session->set_userdata($data);
			redirect('package/package');
		}
		else // incorrect username or password
		{
			$data['message_error'] = TRUE;
			$this->load->view('admin/admin', $data);	
		}
	}
        
       

   
	
		

    /**
    * The method just loads the signup view
    * @return void
    */
}

Upvotes: 0

Views: 1790

Answers (2)

拉拉宇
拉拉宇

Reputation: 36

routes.php

$route['default_controller'] = 'admin/index';

guess it should be ?

$route['default_controller'] = 'admin';

Upvotes: 0

Muhammad Azam
Muhammad Azam

Reputation: 328

May be you have .htaccess as your controller seems fine and still you are getting this answer. please try to add .htaccess in your root directory.

Upvotes: 0

Related Questions