Как перенаправить на страницу моего профиля в codeigniter? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть две формы на одной странице, одна - регистрация, а другая - вход в систему, и это мой код процесса входа в систему

public function login() {

    //print_r($_POST);die;
    $this->load->library('session');
    $this->load->library('form_validation');
    $this->form_validation->set_rules('user_name', 'User Name', 'trim|required');
    $this->form_validation->set_rules('pw', 'Password', 'trim|required');
    if ($this->form_validation->run() == FALSE) {
        if (isset($_POST) && ($_POST['login'] == 'Login')) {
            $data['login_errors'] = validation_errors();
            $this->load->view('Public/register', $data);
        }
    } else {
        $this->load->database();
        $where = '';
        $where = array('email' => $_POST['user_name'], 'password' => $_POST['pw']);
        $rec = $this->db->select('*')->from('user')
                        ->where($where)
                        ->get()->result_array();
      if(!empty($rec)){

        $this->session->set_userdata('user',$rec);
        $this->load->view('Public/profile');


      }else{
         $data = array(
                'error_message' => 'Invalid Username or Password'
                );
                $this->load->view('Public/register', $data);
      }

    }
}

после URL входа в систему http://localhost/ci/blog/login и просмотра, загруженного на нем.выглядит как шаблон профиля

Я очень новичок в codeigniter.WhI URL не меняется? Это должно быть
http://localhost/ci/blog/profile, но когда я пытаюсь перенаправить перенаправление(base_url (). 'Public / profile');это дает ошибку 404.как перенаправить его на
страницу профиля и изменить мой URL /profile.

Ответы [ 5 ]

0 голосов
/ 27 августа 2018

Сначала вы должны изучить CodeIgniter URL Helper

Сначала загрузить помощника $this->load->helper('url');

Затем

redirect('Your_Controller_name/function_name');
In Your Case - redirect('Public/profile'); 

Если ваш контроллер имя Public и функция Имя профиль

0 голосов
/ 27 августа 2018

Вместо

$this->load->view('Public/profile');

используйте

redirect('Public/profile);
0 голосов
/ 27 августа 2018

Пожалуйста, следуйте инструкциям:

Шаг 1: Если вы разработали веб-сайт, управляемый базой данных, на локальном сервере, то вам также необходимо создать базу данных для вашего живого сайта.Вы можете создать базу данных MySQL с панели управления вашего веб-хостинга.

Шаг 2: Подключитесь к ftp-серверу вашего сайта с помощью любого надежного клиентского программного обеспечения ftp (например, filezilla) и перенесите все файлы проекта из локальногосервер к действующему серверу.

Шаг 3: Откройте файл конфигурации базы данных, расположенный по адресу «/config/database.php» внутри вашего проекта codeigniter, и измените код доступа к базе данных, используя информацию базы данных вашего веб-сайта в Интернете.:

$db[‘default’][‘hostname’] = “localhost“;
$db[‘default’][‘username’] = “root“;
$db[‘default’][‘password’] = “123456“;
$db[‘default’][‘database’] = ” your_project_db“;

Шаг 4: Откройте файл конфигурации, расположенный по адресу «/config/config.php» внутри вашего проекта codeigniter, и измените base_url с действующим URL:

$config[‘base_url’]     = “http://localhost/yourprojectdir/“;

Это должно быть так:

$config[‘base_url’]     = “http://www.yourdomain.com“;

Шаг 5: Готово.Теперь проверьте все ссылки на страницы и функциональность вашего веб-сайта с http://www.yourdomain.com

*** Примечание: Если вы столкнулись с ошибками 404, проверьте следующее:

Если вы используете файл .htaccess дляпроект, затем проверьте его еще раз, чтобы убедиться, что код перезаписи URL правильный для вашего живого сервера и на вашем сервере включена функция mod_rewrite.Удалите все URL-ссылки с жестким кодом из представления, файлы контроллера, если они есть, и всегда используйте base_url () вместо URL-ссылки с жестким кодом для проекта.

0 голосов
/ 27 августа 2018
redirect('public/login');
redirect('public/regstration');
0 голосов
/ 27 августа 2018

Отображение представления не изменит URI в CodeIgniter.URI управляется контроллером / методом, а представление вызывается контроллером.

Таким образом, вы можете заставить контроллер вызывать несколько представлений одновременно (в моем последнем проекте я вызываю представления для заголовка, результат и нижний колонтитул, например)

Ознакомление с парадигмой модель-представление-контроллер было бы полезно, но не требуется в этом случае.Просто запомните, как правило, ваши URI будут: http://domain.tld/controller/method/

С точки зрения непрофессионала, таким образом, URI облегчит вам знать, «какая часть выполняет работу» независимо от того, чтоpart обрабатывает рисование результата на экране

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...