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

[已解决] 取不到session的值

[复制链接]
发表于 2012-3-7 09:50:05 | 显示全部楼层 |阅读模式
这是我的控制器:
class Login extends CI_Controller {

    function __construct() {
        parent::__construct();
    }

    function index() {
        $DBBookshop = $this->load->database('bookshop', TRUE);
        session_start();
        $this->load->library('session');
        $admin = $this->session->userdata('admin');
       $password = $this->session->userdata('password');
      $this->load->helper('url');
我在libraries里面也用了版主写的原生session。放到里面了。
这是前台的form表单<form name="admininfo" method="post" action="<?php echo site_url().'/chkadmin/index' ?>" >
问题是我跳转到chkadmin页面的时候。取不到控制器里的那个已经输入的admin(用户名)和password(密码)。到底肿么回事啊?

发表于 2012-3-7 15:48:34 | 显示全部楼层
1、就算用的是 Hex 的原生 Session 库, Session 库的加载只需要
PHP复制代码
$this->load->library("session");
复制代码

而不需要
PHP复制代码
复制代码


2、表单传值是通过 POST 方式,和 Session 一点儿关系都没有。把
PHP复制代码
$admin = $this->session->userdata('admin');
复制代码

改为
PHP复制代码
$admin = $this->input->post("admin");
复制代码

应该就可以了~
 楼主| 发表于 2012-3-7 16:55:42 | 显示全部楼层
谢谢。我要还补充点的就是。在登陆的控制器中。要把session传的值放到一个数组中,也就是 $newdata = array(
                   'admin'  => $admin,
               );
            $this->session->set_userdata($newdata);像这种。这样的话。才能在其他的页面取到$admin的 值
发表于 2012-3-7 23:12:50 | 显示全部楼层
兄弟,今天我看了你的代码,你都没有设置,怎么可能获取到session啊!!!明天你得给我买烟!!!
 楼主| 发表于 2012-3-8 09:16:34 | 显示全部楼层
好的。没问题啊。我请你抽烟,咱哥俩好点小酒乐呵乐呵{:soso_e113:}
发表于 2012-3-8 11:31:57 | 显示全部楼层
session_start(); 去掉
$this->load->library('session'); 会自动完成对应的 session
剩下的只有你要用的操作了

本版积分规则