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/');
    }
}
Другие вопросы по тегам