如果会话数据存在,则在视图中输出

Mik*_*ick 3 codeigniter codeigniter-2

所以我试图将会话的变量值输出到视图中(仅当它存在时).但我似乎无法让它发挥作用.没错.没有.我错过了什么?以为我现在已经把它打倒了 - 猜不是......

在控制器... FYI中,$ data被分配给视图(即 $this -> load -> view('view', $data);

$data['campaign_name'] = $this -> session -> userdata('campaign_name');
Run Code Online (Sandbox Code Playgroud)

这是我想要输出的视图中的php片段.简而言之,如果会话存在,则输出它.如果没有,什么也不做.

<input type="text" name="campaign_name" class="wizardInput nameField" value="<? if (isset($campaign_name)) ;?> ">
Run Code Online (Sandbox Code Playgroud)

任何人?

编辑好的,我应该提到我正在尝试将会话值输出为FORM值.上面修改了视图代码.表单提交的值就像值一样 - 甚至发送值.但是,它在文本输入中不可见...

its*_*sme 8

您可以在视图中轻松完成此操作:

if($this->session->userdata('campaign_name')){
 // do somenthing cause it exist
}
Run Code Online (Sandbox Code Playgroud)

然后,如果您想将会话数据作为输入的值执行此操作:

<input type="text" name="campaign_name" class="wizardInput nameField" value="<?php echo $this->session->userdata('campaign_name') ?>">
Run Code Online (Sandbox Code Playgroud)

不需要控制会话userdata是否存在导致如果它不存在它不会打印任何东西,导致userdata()方法返回false!

然后你不需要传递会话数据$data[] array,因为会话数据可以从任何地方检索(模型/控制器/视图/钩子/库/帮助器等)