2017-06-14 4 views
0

見つかりませんでした、私は次のエラーを持っている:以下の投稿CodeIgniterの:あなたが要求されたページが

404 Page Not Found

The page you requested was not found.

は私のコードファイルです。

コントローラーコード:

<?php 
    defined('BASEPATH') OR exit('No direct script access allowed'); 
    /** 
    * 
    */ 
    class Pages extends CI_Controller 
    { 

    public function view($page='home') 
    { 
     # code... 
     if (!file_exists(APPPATH.'views/ds_pages/'.$page.'.php')) { 
     # code... 
     show_404(); 
     } 
     $data['title']=ucfirst($page); 
     $data['portfolios']= $this->page_model->get_portfolios(FALSE); 
      $this->load->view('templates/header'); 
      $this->load->view('ds_pages/'.$page,$data); 
      $this->load->view('templates/footer'); 
    } 

    public function portfolio_view($slug= NULL) 
    { 
     # code... 
     $data['portfolio']=$this->page_model->get_portfolios($slug); 

     if (empty($data['portfolio'])) { 
     # code... 
     show_404(); 
     } 

     $data['title']= $data['portfolio']['title']; 
      $this->load->view('templates/header'); 
      $this->load->view('ds_pages/portfolio_view',$data); 
      $this->load->view('templates/footer'); 
    } 

    public function create(){ 
      # code... 
      $data['title']= 'Create Portfolio'; 

      $this->form_validation->set_rules('title','Title','required'); 
      $this->form_validation->set_rules('body','Body','required'); 
      if($this->form_validation->run() === FALSE){ 
       $this->load->view('templates/header'); 
       $this->load->view('ds_pages/create',$data); 
       $this->load->view('templates/footer'); 
      }else{ 
       $config['upload_path']= './assets/images/pages'; 
       $config['allowed_types']= 'gif|jpg|png'; 
       $config['max_size']= '2048'; 
       $config['max_width']= '2000'; 
       $config['max_height']= '2000'; 

       $this->load->library('upload',$config); 
       if (!$this->upload->do_upload()) { 
        # code... 
        $errors=array('error'=> $this->upload->display_errors()); 
        $portfolio_image='placeholder.png'; 
       }else{ 
        $data=array('upload_data' => $this->upload->data()); 
        $portfolio_image= $_FILES['userfile']['name']; 
       } 

       $this->page_model->create_portfolio($portfolio_image); 
       //set message 
       $this->session->set_flashdata('portfolio_created','Your portfolio has been created'); 

       redirect('pages/view'); 
      } 
     } 
    } 


?> 

が次にモデルで、私は次のコードを持っている:

<?php 
    /** 
    * 
    */ 
    class Page_model extends CI_Model 
    { 

    public function __construct() 
    { 
     # code... 
     $this->load->database(); 
    } 

    public function get_portfolios($slug=FALSE){ 
       # code... 
      if ($slug === FALSE) { 
      # code... 
      $query= $this->db->get('portfolios'); 
      return $query->result_array(); 
      } 
      $query= $this->db->get_where('portfolios', array('slug' => $slug)); 
        return $query->row_array(); 
      } 
     public function create_portfolio($portfolio_image) 
     { 
      # code... 
      $slug= url_title($this->input->post('title')); 
      $data= array(
        'title' => $this->input->post('title'), 
        'slug'=>$slug, 
        'body'=>$this->input->post('body'), 
        'portfolio_image'=> $portfolio_image 
       ); 
      return $this->db->insert('portfolios',$data); 
     } 
    } 

?> 

をそしてこれが私のビューです:

<small class="post-date"><?php echo $portfolio['created_at']; ?></small><br/> 
<div class="row"> 
    <div class="col-md-3"> 
     <img src="<?php echo site_url();?>assets/images/pages/<?php echo $portfolio['portfolio_image'];?>"> 
    </div> 
    <div class="col-md-9"> 
     <h2><?php echo $portfolio['title']; ?></h2> 
     <div class="post-body"> 
      <?php echo $portfolio['body']; ?> 
     </div> 
    </div> 
</div> 
<hr/> 
<a class="btn btn-info pull-right" href="edit/<?php echo $portfolio['slug']; ?>">Edit</a> 
<?php echo form_open('/pages/delete/'.$portfolio['id']);?> 
    <input type="submit" name="delete" class="btn btn-danger" value="Delete" /> 
</form> 

は最後に、このコード怒鳴る、ルートであります.php:

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 


$route['pages/view']='pages/view'; 
$route['pages/create']='pages/create'; 
$route['pages/(:any)']='pages/portfolio_view/$1'; 
$route['pages']='pages/view'; 

$route['default_controller'] = 'pages/view'; 
$route['404_override'] = ''; 
$route['translate_uri_dashes'] = FALSE; 

ご協力いただきありがとうございます。

+0

どのURLにアクセスしますか? –

+0

$ route ['pages/view'] = 'ページ/ビュー';あなたのルートに2回入れてください –

+0

'pages/portfolio_view/$ 1'へのアクセスが必要 –

答えて

0

あなたは

$ルート[ '(:任意の)/(:任意の)ページ/']使用する必要があります= "ページ/ portfolio_view/$ 1";代わり

$ルート[ '(:任意)ページ/']の

= 'ページ/ portfolio_view/$ 1'。

in routes.php

関連する問題