2017-10-05 25 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'只有 –

相关问题