Codeigniter - Поиск профиля с использованием имени пользователя, введенного в URL
Я использую Codeigniter и Tank Auth, и я использую Ubuntu OS. Когда я получаю доступ к своему проекту, используя мой IP, он выглядит примерно так:
http://192.168.1.10/project/auth/login
Я должен реализовать функцию поиска профиля с помощью URL. Предположим, если я войду
http://192.168.1.10/project/vishmay
Тогда это должно показать мой профиль. Может кто-нибудь сказать мне, как это сделать?
Я попытался сделать это в моем rout.php
$route['default_controller'] = "welcome";
$route['auth/login'] = 'auth/login';
$route['auth/register'] = 'auth/register';
$route['auth/logout'] = 'auth/logout';
$route['welcome/profile'] = 'welcome/profile';
$route[':any'] = 'auth/index/$1';
а также сделал index() в контроллере auth.php как
function index() {
$username=$this->uri->segment(1);
$data['result']=$this->users->get_profile_pic1($username);
if ($message = $this->session->flashdata('message')) {
$data['reg_success'] = "You have been registered successfully.";
$reg_success = 1;
redirect('/auth/register', $data);
} else {
redirect('/auth/login/');
}
}
1 ответ
Решение
Вы должны изменить:
$route[':any'] = 'auth/index/$1';
в
$route['(:any)'] = 'auth/index/$1';
сделать $1
может правильно получить значение сегмента.
И вы можете попробовать этот код:
Попробуй это:
function index($username = '') {
$data['result']=$this->users->get_profile_pic1($username);
if ($message = $this->session->flashdata('message')) {
$data['reg_success'] = "You have been registered successfully.";
$reg_success = 1;
redirect('/auth/register', $data);
} else {
redirect('/auth/login/');
}
}