【问题标题】:IF Session data exists, output in viewIF Session 数据存在,输出在视图中
【发布时间】:2012-11-20 17:35:22
【问题描述】:

所以我试图将会话的变量值输出到视图中(仅当它存在时)。但我似乎无法让它工作。没有错误。没有。我错过了什么?以为我现在已经收拾好了 - 猜不...

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

$data['campaign_name'] = $this -> session -> userdata('campaign_name');

这是我试图输出的视图中的 php sn-p。所以简而言之,如果会话存在,则输出它。如果没有,什么也不做。

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

有人吗?

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

【问题讨论】:

    标签: codeigniter codeigniter-2


    【解决方案1】:

    您可以在视图中轻松做到这一点:

    if($this->session->userdata('campaign_name')){
     // do somenthing cause it exist
    }
    

    那么,如果您想将会话数据作为输入的值,请执行以下操作:

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

    不需要控制会话用户数据是否存在因为如果它不存在它不会打印任何东西,因为userdata()方法返回false

    那么您不需要通过$data[] array 传递会话数据,因为可以从任何地方(模型/控制器/视图/挂钩/库/助手等)检索会话数据

    【讨论】:

    • 这不是肮脏的方式吗?我以为这被看不起了。不?查看我上面的编辑...输入值正在读取会话值,但由于某种原因它是可见的...什么...
    • 还应该提到,我想将会话值插入到文本输入值中。
    • 如果你想让输入隐藏你应该使用 type="hidden" 然后
    • 太棒了。假设我在文本输入中已经有一个默认值。然后怎样呢?如果会话存在,它应该覆盖...
    • 输入不需要隐藏。这仅在用户“返回”到我正在创建的 ajax 向导中的预览页面时使用。向导中的最后一步我发送到数据库并终止此用户数据。
    猜你喜欢
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2015-12-18
    • 2017-04-28
    • 2019-02-09
    • 2018-07-17
    相关资源
    最近更新 更多