У меня есть индексный контроллер по умолчанию с помощью метода 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
Как написать код
Контроллер -
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>
Не рекомендуется использовать имя контроллера "Индекс"
Если хотите, убедитесь, что ваше имя файла - 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
index
)