Проблема с конструктором CI и URI - PullRequest
0 голосов
/ 27 апреля 2011

Я на самом деле создаю простой веб-сайт с участниками, и я хотел показать страницу участника, просто позвонив http://www.mywebsite.com/member/membername

Мой ученик на самом деле работает хорошо, но я поместил код в функцию index, чтобы сделать член страницы доступным на http://www.mywebsite.com/member/index/membername,, что на самом деле не очень полезно.

Итак, классические вещи заключались в том, чтобы поместить мой код в конструктор, но я получаю ошибку:

404 Страница не найдена Запрошенная вами страница не найдена.

Это мой класс. Участник:

<?php

class Member extends CI_Controller {


    function __construct()
    {
           parent::__construct();


           $segment_id = $this->uri->segment(2, 0);
           echo 'segment found ='.$segment_id;
           if ($segment_id == FALSE)
            {
                   echo '- No Segment -> Printing all members ';
                   $data = array();
                   $this->layouts->set_title('Welcome!');

                   $this->layouts->add_aside('newsletter_view');

                   if($query = $this->membership_model->show_all())
                    {
                        $data['records'] = $query;
                    }

                    $this->layouts->view('show_member', $data);
            }
            else
            {
                    echo '- Segment found -> Printing the member ';
                    $data = array();
                    $this->layouts->set_title('Welcome!');

                    $this->layouts->add_aside('newsletter_view');

                    if($query = $this->membership_model->show_member())
                    {
                            $data['records'] = $query;
                    }

                    $this->layouts->view('show_member', $data);
            }

    }

} 

И для завершения, это моя модель функции:

function show_member()
    {
                echo 'model show_member working';
        $this->db->where('username', $this->uri->segment(2));
        $query = $this->db->get('members');

                return $query->result();
    }

        function show_all()
        {
                echo "model show_all working";
                $query = $this->db->get('members');
        return $query->result();
        } 

Вы найдете эхо в. Все прекрасно работают с URL-адресом / member или / member / сегмента, и, как мне грустно, все работает, если я помещаю его в Index

Большое спасибо за вашу помощь

1 Ответ

1 голос
/ 27 апреля 2011

Почему бы не использовать для этого маршруты?

Например, добавление маршрута route['member/(:any)'] = "member/index/$1"; должно помочь (не проверял его).

...