0

我是新的 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>

我的探险家图片

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

4

2 回答 2

0

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

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

如果您调用“/app/Mehraba/example”,那么您应该会看到它。这一切都取决于您正在调用的控制器的功能 - 默认情况下它只有索引功能

于 2013-10-19T15:00:24.410 回答
0

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

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

所以,而不是:

<?php echo $sample; ?>

你可以使用:

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

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

于 2013-10-19T15:17:37.273 回答