用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3114|回复: 5
收起左侧

[已解决] 我只使用了php原生session,可是还是遇到了问题,请大神看看

[复制链接]
发表于 2013-1-22 17:31:02 | 显示全部楼层 |阅读模式
本帖最后由 木木老蔫 于 2013-2-21 17:03 编辑

是这样的,我使用了iframe,
下面是模板页面的代码
HTML复制代码
 
<FRAMESET border=0 frameSpacing=0 rows="60, *" frameBorder=0>
<FRAME name=header src="<?php echo $base_url; ?>index.php/admin/index/view/header" frameBorder=0 noResize scrolling=no>
<FRAMESET cols="170, *">
<FRAME name=menu src="<?php echo $base_url; ?>index.php/admin/index/view/menu" frameBorder=0 noResize>
<FRAME name=main src="<?php echo $base_url; ?>index.php/admin/index/view/main" frameBorder=0 noResize scrolling=yes>
</FRAMESET>
</FRAMESET>
 
 
复制代码

是这样的,我的frame的链接都是指向一个方法,即admin文件夹中的index.php文件的view方法,参数为对应参数,下面是这个index.php的关键代码,在这里注意我想通过判断是都存在session,如果有,就把名字传到模板中frame的header,看下面view方法中的部分
PHP复制代码
 
<?php
include_once  dirname(__FILE__)."/admin_controller.php";
class Index extends admin_controller {
 public function __construct() {
  parent::__construct();
 }
 public function index() {
  $data ['base_url'] = $this->base_url;
  $data ['view_url'] = $this->view_url;
  $data ['login_user'] = $_SESSION['admin']['username'];
  $this->load->view('admin/index',$data);
 
 
 }
 public function view($name="")
 {print_r($this->session_admin);
  $data ['base_url'] = $this->base_url;
  $data ['view_url'] = $this->view_url;
  /*if($this->session_admin)
  {print_r($_SESSION);
   //$data ['login_user'] = $_SESSION['admin']['username'];
  }*/

  if($name == 'header')
  {
   $this->load->view('admin/header',$data);
  }
  elseif ($name == 'main')
  {
   $this->load->view('admin/main',$data);
  }
  elseif ($name == 'menu')
  {
   $this->load->view('admin/menu',$data);
  }
 }
 
}
 
复制代码

此文件继承了admin_controller.php文件,下面是这个文件的关键代码,在这里我有session_start();然后再存储了session值,
PHP复制代码
 
<?php
session_start();
if (! defined ( 'BASEPATH' ))
 exit ( 'No direct script access allowed' );
class admin_controller extends CI_Controller {
 
 
 public function __construct() {
  parent::__construct();
  $this->base_url = $this->config->item ( "base_url" );
  $this->view_url = $this->config->item ( "view_url" );
  $temp = $_SESSION;
  $this->session_admin = $temp;//print_r($_SESSION);
 
复制代码

需要问的问题是,为什么在admin_controller.php中能够打印session,即有值,在index.php中的construct和index方法中也有值,即,可打印,但是在view方法却没有了呢?希望大家帮我啊。。谢谢了
 楼主| 发表于 2013-1-23 09:54:21 | 显示全部楼层
还是没有人知道吗
 楼主| 发表于 2013-1-23 17:09:59 | 显示全部楼层
算了,哪个版主给我这个帖子删了吧
发表于 2013-1-25 17:21:12 | 显示全部楼层
$this->session_admin 父类命名变量的赋值 在没有析构情况,下子类继承变量赋值是没有值的.
发表于 2013-1-25 17:22:07 | 显示全部楼层
session 既然是全局变量 就直接用吧
发表于 2013-1-25 18:11:09 | 显示全部楼层
Index是CI里的关键字吧

本版积分规则