Php 如何在控制器和查看不同功能之间编码点火器发送参数
我是新的codeigniter开发者。 我尝试在视图之间发送控制器,但只发送索引函数。 当我尝试不同的函数时,我得到了这个错误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
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变量,然后你必须在同一个函数中将所有变量传递给视图。