【问题标题】:Codeigniter flashdata issueCodeigniter flashdata 问题
【发布时间】:2015-08-09 19:11:18
【问题描述】:

Codeigniter 闪存数据问题 我没有得到会话 flashdata 值。我检查了闪存数据创建为旧的会话。为什么会发生这种情况,我该如何解决这个问题。

我的会话:

3:{s:9:"user_data";s:0:"";s:11:"cp";s:5:"l";s:14:"flash:old:fvalue";s:32:"41f666‌​04a0bec1c089d84023d3708d1d";}. 

这里闪存数据被标记为旧的。我创建了闪存数据,因为这是我的代码$this->session->set_flashdata('fvalue', '41f66604a0bec1c089d84023d3708d1d');

【问题讨论】:

  • 请在您的问题中发布您的代码。
  • 在控制器中创建flash数据,然后重定向页面。在视图中,我不确定它是否会在没有一个重定向的情况下使用。

标签: php codeigniter


【解决方案1】:

添加闪存数据:

$this->session->set_flashdata('stack', 'overflow');

您可以在视图中使用此代码:

$this->session->flashdata('stack');

确保您的网页不应再重定向一次。如果您的重定向计数超过一个,您需要使用:

$this->session->keep_flashdata('stack');

【讨论】:

  • 它不工作。请检查我的会话:3:{s:9:"user_data";s:0:"";s:11:"cp";s:5:"l";s:14:"flash:old:fvalue" ;s:32:"41f66604a0bec1c089d84023d3708d1d";}。这里闪存数据被标记为旧的。我创建了闪存数据,因为这是我的代码 $this->session->set_flashdata('fvalue', '41f66604a0bec1c089d84023d3708d1d');
  • 视图上不能设置flash数据。
【解决方案2】:

要使用 Session 类,在config/autoload.php

$autoload['libraries'] = array('session');

设置 Flash 数据

$this->session->set_flashdata('item', 'value');//$this->session->set_flashdata('name', 'Rakesh');

设置闪存数据后重定向到方法使用

redirect('controller/method_name');

然后在视图中(仅在设置name 时显示/这将执行)

<?php 
    if($this->session->flashdata('name') != '')
    {
        ?> 
        <div class="success">
        <?php $this->session->flashdata('name'); ?>
        </div>
    <?php
    }
?>

销毁会话

$this->session->sess_destroy();

Codeigniter Flashdata

【讨论】:

  • 我做了这个但没有工作。我正在视图中设置闪存数据,
  • 无法设置视图中的闪存数据
  • 在视图中闪存数据是在会话中生成的,但它显示 flash:old 因此该值未采用。我手动更改了 flash:new 和它的工作,实际上代码在过去 1 年里一直在工作。
  • 在视图中没有办法做到这一点。将数据发送到 controller 并使用 flashdata 加载相同的视图
  • 设置flash数据重定向页面后
猜你喜欢
  • 1970-01-01
  • 2017-06-17
  • 1970-01-01
  • 2013-07-28
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多