【发布时间】:2011-04-03 22:38:18
【问题描述】:
我有一个用于登录表单的控制器。在视图中,我有一个 {error} 变量,当出现错误时,我想使用解析器库填充该变量。我的控制器中有一个函数 index(),由数组 $init 控制,它将一些基本变量和错误消息设置为'':
function index()
{
$init = array(
'base_url' => base_url(),
'title' => 'Login',
'error' => ''
);
$this->parser->parse('include/header', $init);
$this->parser->parse('login/index', $init);
$this->parser->parse('include/footer', $init);
}
在我的登录脚本结束时,我有以下内容:
if { // query successful }
else
{
$init['error'] = "fail";
$this->parser->parse('login/index', $init);
}
现在,这当然行不通。首先,它只加载索引视图,没有页眉和页脚,并且无法将原始 $init['error'] 设置为(在这种情况下)“失败”。我试图只用数组作为参数调用 $this->index() ,但我似乎无法弄清楚如何传递一个新的 $init['error'] 来覆盖原始的。实际上,在键入此内容时,似乎不可能做我想做的事,因为原始值将始终覆盖任何新值..因为我将其声明为空('')。
那么,有没有办法让我的错误消息在那里?如果是这样,如何。如果没有,我将如何在正确的位置获取错误消息? (我的观点:{error}。我已经尝试过使用“全局”来绕过变量范围,但是很遗憾,这失败了。提前非常感谢。
【问题讨论】:
标签: php codeigniter variables scope