如何编码在Controller和View之间发送参数不同的功能

时间:2013-10-19 14:20:25

标签: 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('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

2 个答案:

答案 0 :(得分:0)

这取决于您拨打的是哪个网址?

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

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

答案 1 :(得分:0)

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

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

所以,而不是:

<?php echo $sample; ?>

您可以使用:

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

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