Php 如何在控制器和查看不同功能之间编码点火器发送参数

Php 如何在控制器和查看不同功能之间编码点火器发送参数,php,codeigniter,Php,Codeigniter,我是新的codeigniter开发者。 我尝试在视图之间发送控制器,但只发送索引函数。 当我尝试不同的函数时,我得到了这个错误 A PHP Error was encountered Severity: Notice Message: Undefined variable: sample Filename: views/merhaba_sayfasi.php Line Number: 8 我的控制器文件=merhaba.php <?php if ( ! defined('BASE

我是新的codeigniter开发者。 我尝试在视图之间发送控制器,但只发送索引函数。 当我尝试不同的函数时,我得到了这个错误

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>

我的浏览器图像


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

如果调用“/app/Merhaba”或“/app/Merhaba/index”,将看不到示例变量


如果您调用“/app/Merhaba/example”,那么您应该会看到它。这完全取决于您调用的控制器的哪个函数-默认情况下,它只是索引函数,您试图显示一个尚未设置其值的变量,这就是抛出错误的原因

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

因此,不是:

<?php echo $sample; ?>

您可以使用:

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



尽管如此,我还是建议在加载视图之前,将逻辑保留在控制器中,并设置控制器中的所有值。你的回答是对的,但有一个问题。当我调用localhost:8888/ci/index.php/merhaba/时,我没有看到示例变量,但当我调用localhost:8888/ci/index.php/merhaba/example时,我没有看到$giris_baslik变量,我得到了错误。谢谢你的回答。但是我想看到所有php变量,然后你必须在同一个函数中将所有变量传递给视图。