проблема маршрутизации в codeigniter

0

У меня есть индексный контроллер по умолчанию с помощью метода index.

class Index extends CI_Controller {
  public function __construct(){
      parent::__construct();
  }
  public function index(){
     // main page of website...
  }
}

Теперь, если в методе индекса есть параметр, я хочу отобразить другое представление. что-то вроде этого:

 public function index($username){
   if($username!=''){
      // render page 1...
   }
   else{
      // main page of website...
   }
}

когда я передаю параметр, он говорит: The page you requested was not found.

РЕДАКТИРОВАТЬ

Я попытался обновить маршруты в файле routes.php:

$route['index/(:any)'] = 'index/$1';

Я хочу, чтобы пользователь получал доступ к своему профилю в этом URL-адресе: example.com/username

Прямо сейчас, мне нужно ввести: example.com/index/index/username

  • 0
    да, я собираюсь удалить свой ответ - мне интересно, если вы можете назвать индекс контроллера ???
  • 0
    На самом деле, имя контроллера и имя метода совпадают. ( index )
Показать ещё 5 комментариев
Теги:
codeigniter

2 ответа

0

Как написать код

Контроллер -

class index extends  CI_Controller 
{
    function _construct() 
    {
     parent::__construct();
    }

   public function index()
    {
        $this->load->view('views_file');
    }
}

И обновите route.php С: -

$route['index/(:any)'] = 'index/index/$1';

Просмотр Должен быть:

<a href="index/<?php echo $username ?>"> username </a>
0

Не рекомендуется использовать имя контроллера "Индекс"
Если хотите, убедитесь, что ваше имя файла - index.php.
и поместите этот код

class Index extends CI_Controller
{

  function __construct()
  {
    parent::__construct();
  }
  public function index($username="")
  {

    if($username!='')
    {
        echo "user name found";//do your stuff
    }
    else
    {
        echo "username not found";//do your stuff
    }
  }
}

Теперь поставьте этот код на свой маршрут. Php

$route['default_controller'] = "index"; 
$route['(:any)']="index/index/$1"; 

Теперь вы можете получить доступ к этому example.com/username и example.com

  • 0
    Это не работает. Я пытался так же, как это до размещения правил маршрутизации.
  • 0
    пожалуйста, поставьте свой полный контроллер и ссылку, которую вы пытаетесь.
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню