一个界面生成好session 添加键值后 其余的php首部 session_start(); 但是$_SESSION变量为空 不是说生成好后就存在cookie了么 为什么不能直接用呢?
一个界面生成好session 添加键值后 其余的php首部 session_start(); 但是$_SESSION变量为空 不是说生成好后就存在cookie了么 为什么不能直接用呢?
一个简单的例子
验证登录:
public function login_check(){
$user_id = $this->input->post('user_id');
$password = $this->input->post('password');
$sql = "SELECT * FROM users WHERE id = ? AND password = ?";
$data['check'] = $this->db->query($sql, array($user_id, $password)) -> result_array();
if(count($data['check']) > 0){
$session['is_login'] = TRUE;
$session['user_id'] = $data['check'][0]['user_id'];
$session['user_name'] = $data['check'][0]['user_name'];
$this->session->set_userdata($session);
header("Location:".site_url('welcome'));
}
}
判别登陆了没:
if($this->session->userdata('is_login')){
}else{
redirect('login');
}
取得session值:
$user_id = $this->session->userdata('user_id');
$user_name = $this->session->userdata('user_name');
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答596 阅读✓ 已解决
795 阅读
楼主啊,既然你说了是在框架中,而且还是
CI
中,那么就使用CI
中定义好的session
类操作配合来使用就好了(有些框架中是不支持使用某些php函数的,session_start()
就是个例子)载入session类
$this->load->library('session');
添加session数据
$this->session->set_userdata($array);
取得session值
$this->session->userdata('session_key');
取得所有session值
$this->session->all_userdata();
要养成多看文档的好习惯啊喂!~ 我是文档,点我点我点我
看来楼主对
MVC
模式不是很了解啊,简单点来说,输出页面(view
)基本都要走控制器(controller
),获取数据在控制器,进行数据处理一般在模型层(model
)。控制器就像一个中间媒介一样,接收从页面(view)传递过的数据,然后根据这些数据调取模型层相应的数据出来,然后控制器调用模板(也就是页面)来进行的数据的渲染。
js里是很少调用控制器的,调用控制器就是使用控制器里面的方法,获取一些数据,这之中用的多的就是ajax。跳到另一个页面其实是通过html相应标签来实行的,这里举几个例子:
html的
a
标签html的
form
表单js的
location.href
嗯。以上,希望对你有帮助。