CI构造函数和URI的问题

时间:2011-04-27 17:27:05

标签: codeigniter constructor continuous-integration uri

我实际上正在构建一个包含成员的简单网站,我只想通过调用http://www.mywebsite.com/member/membername来显示成员页面

我的班级成员实际上工作得很好,但是我把代码放在索引函数中,使得页面成员可以在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();
        } 

你会发现一些回声。所有人都使用/ member或/ member / segment的网址完美地工作,而且我很难过,如果我把它放在索引中,那么一切都正常工作

非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

为什么不为此使用路线?

例如,添加路由route['member/(:any)'] = "member/index/$1";应该可以解决问题(尽管还没有测试过)。