2017-10-05 42 views
0

我在CodeIgniter中創建一個網站,我試圖製作一個包含所有類別的菜單欄,當您點擊某個類別時,它必須顯示所有的產品該類別,但它並不真正工作。codeigniter中的產品類別功能不起作用

當我打開category.php視圖頁面而不是側面菜單欄時,確實有很大的白色空白鏈接導致什麼都沒有。另外,當我點擊其中一個鏈接時,出現錯誤。這是錯誤:

An Error Was Encountered 

The URI you submitted has disallowed characters. 

而且這是當我加載了category.php查看錯誤信息:

A PHP Error was encountered 

Severity: Notice 

Message: Trying to get property of non-object 

Filename: views/allecadeaus.php 

Line Number: 26 

Backtrace: 

File: /home/ubuntu/workspace/application/views/allecadeaus.php 
Line: 26 
Function: _error_handler 

File: /home/ubuntu/workspace/application/controllers/AlleCadeausController.php 
Line: 12 
Function: view 

File: /home/ubuntu/workspace/index.php 
Line: 315 
Function: require_once 

的category.php視圖頁面看起來是這樣的:enter image description here

allecadeaus.php文件:

<?php include_once ('templates/header.php'); ?> 

<!-- Alle cadeaus gele title bovenaan pagina --> 

<div class="container-fluid"> 
    <div class="row"> 
     <div class="col-lg-12 bg-warning" style="font-size:25px"> 
      <center>Alle cadeaus</center> 
     </div> 
     </div> 
</div> 

<hr /> 

<br> 

<!-- Cadeau categorie side menu --> 
<div class="container-fluid"> 
    <div class="row"> 
      <div class="col-md-4"> 
       <div id="categorymenu"> 
        <center> <h3>Categorieën</h3> </center> 
        <ul class="list-group"> 
         <?php foreach ($category() as $row) : ?> 
          <li class="list-group-item"> 
           <a href="<?php echo base_url('Product/category/'.$row->id);?>"> <?php echo $row->name; ?></a> 

          </li> 
         <?php endforeach; ?> 

        </ul> 
       </div> 
      </div> 




<!-- Laat cadeau zien op alle cadeaus pagina --> 
<div class="col-md-8"> 
<?php foreach($products as $product) : ?> 
    <div class="col-md-2"> 
     <div id="product"> 
     <a href="<?php echo base_url() ?>/Product/details/<?php echo $product['product_id']; ?>"> 
      <img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto_thumb']; ?>"> 
     </a> 
     <div class="product_naam"><?php echo $product['product_naam']; ?></div> 
     <div class="ophaal_plaats"> 
      <?php echo $product['ophaal_plaats']; ?> 
     </div> 
     <div class="aangeboden_door"> 
      <p>Aangeboden door: Peter</p> 
       </div> 
     </div> 
     </div> 


<?php endforeach; ?> 

</div> 



<div class="clearfix"></div> 

<?php include_once ('templates/footer.php'); ?> 

這是我的category.php查看頁面:

<?php include_once ('templates/header.php'); ?> 

<!-- Alle cadeaus gele title bovenaan pagina --> 

<div class="container-fluid"> 
    <div class="row"> 
     <div class="col-lg-12 bg-warning" style="font-size:25px"> 
      <center>Alle cadeaus</center> 
     </div> 
     </div> 
</div> 

<hr /> 

<br> 

<!-- Cadeau categorie side menu --> 
<div class="container-fluid"> 
    <div class="row"> 
      <div class="col-md-4"> 
       <div id="categorymenu"> 
        <center> <h3>Categorieën</h3> </center> 
        <ul class="list-group"> 
         <?php foreach (get_categories_h() as $category) : ?> 
          <li class="list-group-item"> 
           <a href="<?php echo base_url('Product/category/'.$category->id);?>"> <?php echo $category['name']; ?></a> 

          </li> 
         <?php endforeach; ?> 
        </ul> 
       </div> 
      </div> 




<!-- Laat cadeau zien op alle cadeaus pagina --> 
<div class="col-md-8"> 
<?php foreach($products as $product) : ?> 
    <div class="col-md-2"> 
     <div id="product"> 
     <a href="<?php echo base_url() ?>/Product/details/<?php echo $product['product_id']; ?>"> 
      <img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto_thumb']; ?>"> 
     </a> 
     <div class="product_naam"><?php echo $product['product_naam']; ?></div> 
     <div class="ophaal_plaats"> 
      <?php echo $product['ophaal_plaats']; ?> 
     </div> 
     <div class="aangeboden_door"> 
      <p>Aangeboden door: Peter</p> 
       </div> 
     </div> 
     </div> 


<?php endforeach; ?> 

</div> 



<div class="clearfix"></div> 

<?php include_once ('templates/footer.php'); ?> 

這是我在我的Product.php控制文件中的函數:

public function category($id) 
{ 
    $data['title'] = 'Category'; 
    $data['page'] = 'Product/category'; 
    $data['category'] = $this->Category_model->findByCategory($id); 
    $data['products'] = $this->Product_model->findByCategory($id); 
    $this->load->view('category', $data); 
} 

這些都是在我的產品模型的功能(Product_model.php):

public function get_categories(){ 
     $this->db->select('*'); 
     $this->db->from('categories'); 
     $query = $this->db->get(); 
     $result = $query->result_array(); 
     return $result; 
    } 


    public function findAll(){ 
     return $this->db->get('product')->result(); 
    } 

    public function findByCategory($category_id){ 
     $this->db->where('category_id', $category_id); 
     return $this->db->get('product')->result(); 
    } 

這是我的Category_model.php文件:

<?php 


class Category_model extends CI_Model { 

    public function findAll(){ 
     return $this->db->get('category')->result(); 
    } 

    public function find($id){ 
     $this->db->where('id', $id); 
     return $this->db->get('category')->row(); 
    } 

} 
?> 

一些數據庫的信息:

Table 1: products 
-product_id 
-product_naam 
-product_beschrijving 
-user_id 
-category_id 

table 2: categories: 2 columns: 
1.id 
2.name 

這是我的類別表的外觀:

id name 

1 Cosmetica 
2 Antiek en kunst 
3 Voor kinderen 
4 Apparatuur 
5 Boeken 
6 Muziek en instrumenten 
7 Spellen 
8 Sieraden 
9 Overige cadeaus 
10 Sport 
+1

在其下方白色的大空間有一個錯誤消息。在瀏覽器中查看頁面源代碼並查看HTML源代碼以查看錯誤消息的內容。此外,啓用錯誤日誌記錄並查看錯誤日誌以查看問題所在。可能有多個問題,但一旦你可以看到它們是什麼,你可以通過他們的工作 – MrCarrot

+0

它的這個錯誤:遇到一個PHP錯誤 嚴重性:注意 消息:試圖讓非對象 文件名的屬性:views/allecadeaus。PHP 行號:26 回溯: 文件:/home/ubuntu/workspace/application/views/allecadeaus.php 線:26 功能:_error_handler 文件:/首頁/ Ubuntu的/工作區/應用/控制器/ AlleCadeausController.php 線:12 功能:視圖 文件:/home/ubuntu/workspace/index.php 線:315 功能:require_once – JohnDoe122

+0

,則檢查視圖/ allecadeaus.php行號:26 – Vickel

回答

0

類別名稱/ ID的包含未與您當前permitted_uri_chars配置讓其在的config.php字符文件。

轉到您的config.php文件(application\config\config.php),並給予$config['permitted_uri_chars']選項的值:a-z 0-9~%.:_\-\=

這將使幾乎所有常用的字符。

+0

我已經設置了 – JohnDoe122

+0

您可以舉個例子說明你的分類名稱/ ID是怎麼看的? – SaltyPotato

+0

生病編輯我的問題,並顯示我的類別表看起來如何 – JohnDoe122

0

您需要在您的視圖文件chnage將這段代碼

<?php foreach ($category as $row) : ?> 
          <li class="list-group-item"> 
           <a href="<?php echo base_url('Product/category/'.$row->id);?>"> <?php echo $row->name; ?></a> 

          </li> 
         <?php endforeach; ?> 
+0

收到此錯誤現在:一個PHP錯誤遇到 嚴重性:錯誤 消息:調用未定義功能類別() 文件名:觀點/ allecadeaus.php 行號:24 回溯: – JohnDoe122

+0

這一行: <?php foreach(category()as $ row):?> – JohnDoe122

+0

看到我的更新後的答案是它的'$ category'只有 –