如何编码点火器在控制器和视图之间发送参数不同的功能


How to codeigniter Sending Parameters Between Controller and View different function

我是新的代码点火器开发人员。我尝试在视图之间发送控制器,但只发送索引函数。当我尝试不同的功能时,出现此错误。

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: sample
Filename: views/merhaba_sayfasi.php
Line Number: 8

我的控制器文件 = merhaba.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    class Merhaba extends CI_Controller {
        public function index()
        {
            $data["title"]="İlk codeigniter sayfam";
            $data["giris_baslik"] = "Merhaba Dünya";
            $this->load->view('merhaba_sayfasi',$data);
        }
        public function example(){
            $data["sample"] = "Sample php";
            $this->load->view("merhaba_sayfasi",$data);
        }
    }
?>

我的视图文件 = merhaba_sayfasi.php

<html>
<head>
    <meta charset="utf-8">
    <title><?php echo $title; ?></title>
</head>
<body>
<h3><?php echo $giris_baslik; ?></h3>
<?php echo $sample; ?>
</body>
</html>

我的资源管理器图像

http://www.medyasef.com/questions/codeigniter_function_error.png

这取决于您调用的 URL 是什么?

如果调用"/app/Merhaba"

或"/app/Merhaba/index",则不会看到示例变量。

如果您调用"/app/Merhaba/example",那么您应该会看到它。这完全取决于您正在调用的控制器的功能 - 默认情况下它只是索引函数

您正在尝试显示一个尚未设置其值的变量,这就是引发错误的原因。

在尝试回显变量之前,可以检查视图以确保变量具有值。

因此,而不是:

<?php echo $sample; ?>

您可以使用:

<?php if(isset($sample)) {echo $sample;} ?>

虽然,我建议在加载视图之前将逻辑保留在控制器中并在控制器中设置所有值