Message: Undefined variable: les données
Quand j'essaye d'exécuter l'application suivante dans CodeIgniter, j'obtiens l'erreur suivante:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: views/blog.php
Line Number: 1
J'ai essayé de le comprendre, pour près d'une heure et je ne peux pas le faire fonctionner. Mon point de vue, ressemble à ceci:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
Mon contrôleur ressemble à ceci:
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
Ce que quelqu'un sait comment résoudre ce problème?
$data
ne définit pas, avez-vous vraiment définir cette variable?- $data = $this->db->get('posts'); ?
Vous devez vous connecter pour publier un commentaire.
Vous devez changer votre contrôleur et vue
le tableau que vous envoyez à travers les données doivent être comme ceci:
et de votre point de vue:
codeiginter envoie des variables à afficher à l'aide de $data array. Si vous voulez envoyer quelque chose à un point de vue, de mettre à l'intérieur de $données $data['key'] = $val;
Essayez d'utiliser
$blog
au lieu de$data
dans la première ligne de votre point de vue.Je ne suis pas sûr, mais vous attribuer
$data
à une clé appeléeblog
dans votre contrôleur...Les variables doivent être transmises à la vue sous forme de paires clé-valeur à l'intérieur d'un tableau. Ici ceci est expliqué.
Je pense que l'avis d'erreur n'est pas d'origine sur votre contrôleur sur votre point de vue (blog.php). Vous avez oublié de passer $les données à la vue. Vous devez restructurer la variable passée à votre point de vue à quelque chose comme ceci:
veuillez structure de votre modèle post comme ceci
et votre contrôleur post comme ceci
et dans votre fichier de vue de l'écho contenu de cette façon 🙂