2016-09-10 41 views
0

我是codeIgnitor的新手,不斷收到錯誤404,請告訴我哪裏錯了,下面是我的結構和頁面。 數據庫名稱:stoma_store_suppliers, 數據庫字段:供應商ID,supplier_name,supplier_phoneCodeIgniter 404

模型Page:_____________ suppliers.php

<?php 
Class Suppliers extends CI_Model 
{ 
public function get_suppliers($supplierid) { 
if($supplierid != FALSE) { 
$query = $this->db->get_where('store_suppliers', array('supplierid' =>$supplierid)); 
return $query->row_array(); 
} 
else { 
return FALSE; 
} 
} 
} 
?> 

控制器Page__________ suppliers.php

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

class Suppliers extends CI_Controller { 

public function show($supplierid) { 
$this->load->model('suppliers'); 
$store_suppliers = $this->suppliers->get_suppliers($supplierid); 
$data['supplier_name'] = $suppliers['supplier_name']; 
$data['supplier_phone'] = $suppliers['supplier_phone']; 
$this->load->view('index', $data); 
} 
} 
?> 

查看頁面: 指數.php

<?php print $supplier_name; ?> 
<?php print $supplier_phone; ?> 
+0

放置在視圖上的'index.php'的路徑和控制器文件名應該是'Suppliers.php' –

+2

沒有與控制器相同的型號名稱。 Suppliers_model會更好名稱你應該看看codeigniter phpstyle指南 – user4419336

+0

沃爾夫岡,我不知道你的意思是沒有模型名稱相同的控制器,你能解釋一下,thx? – DEDE

回答

1

需要的東西訪問笨的任何頁面是:

  1. 控制器文件的第一個字母必須大寫像Suppliers.php
  2. 類定義的第一個字母必須與文件名匹配,例如對於Suppliers.php它將是class Suppliers extends CI_Controller
  3. 如果要使用數據庫,則必須在文件config/database.php中設置正確的連接詳細信息。

以下是訪問在codeigniter中創建的任何頁面的步驟。

  1. 請寫下您的網站域名後跟index.php,例如http://mysitedomain.com/index.php/suppliers
  2. 要刪除URL中index.php的需要,請在根文件夾中添加一個.htaccess文件。 Details here.在這種情況下,URL將是 http://mysitedomain.com/。現在,域名後面將跟隨控制器名稱和要訪問的功能,例如, http://mysitedomain.com/suppliers/show
  3. 要使用URL將參數傳遞給控制器​​,請在控制器/函數段(例如, http://mysitedomain.com/user/show/dede
  4. 如果控制器有一個索引函數 - public function index(){ - 它可以被訪問兩種方式:如果不提供/function/argument URI段

    A)http://mysitedomain.com/suppliers/index

    B)http://mysitedomain.com/suppliers

控制器名稱後,默認情況下Codeigniter將調用index()