为了账号安全,请及时绑定邮箱和手机立即绑定

codeigniter 无法传递带有未定义变量的变量结果(在路由之后)

codeigniter 无法传递带有未定义变量的变量结果(在路由之后)

PHP
动漫人物 2022-12-11 19:12:49
所以我试图制作一个产品的详细信息页面,从产品列表链接。我已经配置了路由。但是该页面显示未定义的 foreach 变量出错。这是错误:A PHP Error was encounteredSeverity: NoticeMessage: Undefined variable: listprodukFilename: user/view.phpLine Number: 28Backtrace:File: E:\xampp\htdocs\emedco\application\views\user\view.phpLine: 28Function: _error_handlerFile: E:\xampp\htdocs\emedco\application\controllers\ProdukList.phpLine: 19Function: viewFile: E:\xampp\htdocs\emedco\index.phpLine: 315Function: require_once详情页,view.php<div class="container-fluid">   <h4>Detail</h4>   <h2><?php echo $listproduk['nama_produk']; ?></h2> <!--line 28-->   <p><?php echo $listproduk['deskripsi_produk']; ?></p></div>产品列表视图(详细视图之前的前一页,没有错误),produklist.php<?php foreach ($produk as $listproduk) : ?>    <div class="col-6 col-md-4 col-xl-3 mb-4 ">        <div class="card text-center shadow h-100 py-2">            <img class="card-img-top" src="<?php echo base_url('images/product/' . $listproduk['img_produk']) ?>" width="100" alt="Card image cap">            <div class="card-body">                <h6 class="card-title"><?php echo $listproduk['nama_produk']; ?></h6>                <p style="font-size:80%;" class="card-text">Kategori obat</p>                <p style="font-size:80%;" class="card-text">Rp. <?php echo $listproduk['harga_produk']; ?></p>            </div>            <div class="card-footer">                <a href="<?php echo site_url('ProdukList/'.$listproduk['kode_produk']); ?>" class="btn btn-primary btn-block btn-sm">Detail</a>            </div>        </div>    </div><?php endforeach; ?>控制器,ProdukList.php<?phpclass ProdukList extends CI_Controller{    public function index()    {        $data['produk'] = $this->ProdukList_model->get_produk();        $this->load->view('user/produklist', $data);    }试图在 $data 之后添加 true,并且$this->load->view('user/view', $data, true);它显示空白页面。
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

我认为您应该在视图中$produkdet['nama_produk']而不是第 28 行。$listproduk['nama_produk']下一行也一样。



查看完整回答
反对 回复 2022-12-11
?
狐的传说

TA贡献1804条经验 获得超3个赞

请在您的控制器中查看您发送到视图的内容。您正在您的控制器索引函数中发送数据['produk'],并且您正在添加'listproduk'而不是'produc';尝试这个 ”




查看完整回答
反对 回复 2022-12-11
?
郎朗坤

TA贡献1921条经验 获得超9个赞

错误信息是...


遇到 PHP 错误严重性:注意


消息:未定义的变量:listproduk


文件名:用户/view.php


行号:28


所以看看你的 user/view.php 文件中的第 28 行你有......


<h2><?php echo $listproduk['nama_produk']; ?></h2> <!--line 28-->

所以您现在要做的是查看将变量传递到视图中的位置。


在您的 ProdukList.php 控制器中,您有


public function view($kode_produk = NULL)

{

   $data['produkdet'] = $this->ProdukList_model->get_produk($kode_produk);


   if (empty($data['produkdet'])) {

     show_404();

   }


   $this->load->view('user/view', $data); <!--line 19-->

}

在上面,您可以看到您正在分配要传递到视图中的变量$data['produket'] 。在您看来,这将成为 $produket,这是一个数组。


但是您的视图需要一个名为$data['listproduk']的数组,这将在视图中生成一个名为$listproduk 的数组。


所以报错信息很明确地表明你要么没有向视图传递正确的值,要么视图中的变量是错误的,要么是错误的视图......无论哪种方式,它都是不正确的。


查看完整回答
反对 回复 2022-12-11
  • 3 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信