0

我正在尝试在产品控制器下的 product_edit 方法中的会话变量中填充已删除的按摩,如下所示:-

$_SESSION['msg']="Record has been deleted successfully." 然后我像这样重定向到列表页面:-redirect('allinone/product_list'); 然后我在列表页面上显示按摩,如下所示:-

<?php if(isset($_SESSION['msg'])){?>
<tr>
  <td colspan='8' align="center" class="error_td"> 
  <?php echo $_SESSION['msg'];
        unset($_SESSION['msg']);?> </td>
</tr>
<?php }  ?>

但是会话按摩不会在列表页面上回显。我无法弄清楚我在代码中遗漏了什么? 有人可以调查一下吗?

我认为每次导航都创建了新会话。

我是codeignitor框架的新手。

任何帮助将不胜感激。非常感谢。

4

2 回答 2

1

Coeignitor Session 类不使用原生 PHP 会话。它生成自己的会话数据在您的 product_edit 方法上添加这个您可以访问会话变量,例如

$this->load->library('session');

会话变量可以通过

$this->session->set_userdata('message', 'hello world');

会话变量可以通过

$msg = $this->session->userdata('message');

在您看来,您可以使用 session like

<?php if($this->session->userdata('message')){?>
<tr>
  <td colspan='8' align="center" class="error_td"> 
  <?php echo $this->session->userdata('message');
        $this->session->unset_userdata('message');     ?> </td>
</tr>
<?php }  ?>
于 2012-05-12T12:04:12.780 回答
0

您应该使用set_userdata($userdata);在 Codeigniter 中设置会话。例如:

$this->load->library('session'); // loading session library

$userdata= array(
   'msg'  => 'Record has been deleted successfully.'
);

$this->session->set_userdata($userdata); // set session

$user_data = $this->session->userdata  // get session

您可以在此处找到有关 Codeigniter 会话的更多信息:http: //codeigniter.com/user_guide/libraries/sessions.html

于 2012-05-12T12:02:57.223 回答