Je fais un site Web dans CodeIgniter et j'essaye de faire une barre de menu avec toutes les catégories, et quand vous cliquez sur une certaine catégorie il doit montrer tous les produits qui sont dedans cette catégorie mais ne fonctionne pas vraiment. Lorsque j'ouvre la page d'affichage category.php au lieu de la barre de menu latérale, il y a vraiment de gros liens blancs qui ne mènent à rien. Aussi quand je clique sur un de ces liens j'obtiens une erreur. Ceci est l'erreur:Fonction de catégorie de fonction dans codeigniter ne fonctionne pas
An Error Was Encountered
The URI you submitted has disallowed characters.
Aussi c'est le message d'erreur lorsque je charge la vue 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
La page de vue category.php ressemble à ceci:
fichier 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'); ?>
Ceci est mon point de vue de category.php page:
<?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'); ?>
C'est la fonction que j'ai dans mon dossier de contrôleur 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);
}
Ce sont les fonctions de mon modèle de produit (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();
}
Et voici mon fichier 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();
}
}
?>
Quelques informations de base de données:
Table 1: products
-product_id
-product_naam
-product_beschrijving
-user_id
-category_id
table 2: categories: 2 columns:
1.id
2.name
Voici comment ma table catégories ressemble:
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
Sous ce grand espace blanc il y a un message d'erreur. Dans votre navigateur, regardez la source de la page et affichez le code source HTML pour voir ce que le message d'erreur dit. En outre, activez la journalisation des erreurs et consultez vos journaux d'erreurs pour voir quel est le problème. Il y a probablement plusieurs problèmes, mais une fois que vous pouvez voir réellement ce qu'ils sont, vous pouvez travailler à travers eux – MrCarrot
Son cette erreur: Une erreur PHP a été rencontré Gravité: Avis Message: Essayer d'obtenir la propriété de non-objet Nom du fichier : vues/allecadeaus.php Numéro de ligne: 26 Backtrace: fichier: /home/ubuntu/workspace/application/views/allecadeaus.php ligne: 26 Fonction: _error_handler fichier:/home/ubuntu/espace de travail/application/contrôleurs/AlleCadeausController.php ligne: 12 Fonction: fichier: /home/ubuntu/workspace/index.php ligne: 315 Fonction: require_once – JohnDoe122
bien, vérifier des vues/allecadeaus.php Numéro de ligne: 26 – Vickel