0

私はリンクを持っています、

<?php foreach ($news as $news_item): ?>
    <h2><?php echo $news_item['title'] ?></h2>
    <div id="main">
        <?php echo $news_item['text'] ?>
    </div>
    <?php echo base_url(); ?>
    <p><a href="news/view/<?php echo $news_item['slug'] ?>"> View article </a></p>
<?php endforeach ?>

これは、CodeIgniter のユーザー ガイドのコードです。このコードのリンクをクリックすると、次のように表示されます。

要求された URL が見つかりませんでした

なんで?

形成されたリンクは ですhttp://localhost/codeignitor/news/view/20

これは私のコントローラーです:-

<?php
    class news extends CI_Controller {

        public function __construct()
        {
            parent::__construct();
                    $this->load->helper("url");
            $this->load->model('news_model');
        }

        public function index()
        {
            $data['news'] = $this->news_model->get_news();
                    $data['title'] = ' News archive ';

                    $this->load->view('templates/header', $data);
                    $this->load->view('news/index', $data);
                    $this->load->view('templates/footer');
        }

        public function view($slug)
        {
            $data['news'] = $this->news_model->get_news($slug);
            if (empty($data['news_item']))
            {
                show_404();
            }
            $data['title'] = $data['news_item']['title'];
            $this->load->view('templates/header', $data);
            $this->load->view('news/view', $data);
            $this->load->view('templates/footer');
        }
    }
4

2 に答える 2

0

ベース URL 関数を適切に使用します。

base_url('news/view/'.$news_item['slug']);
于 2013-10-25T18:14:37.473 に答える
0

コントローラーとメソッドパスのみを指定しています。ページの URL がありません:

<a href="<?php echo site_url('news/view/'.$news_item['slug']);?>"> View article </a>

ドキュメントを確認してください。

于 2013-10-25T18:14:30.100 に答える