php - 在 codeigniter 中更新会话
问题描述
所以我必须在我的视图中进行配置,但是在我注销之前它不会改变。谁能帮我解决这个问题?
下面是我的登录控制器
public function login(){
$user = $this->input->post('username',true);
$pass = $this->input->post('password',true);
$cek= $this->M_Login->prosesLogin($user, $pass);
$hasil = count ($cek);
if($hasil >0){
$select =$this->db->get_where('usersystem',array('username'=>$user,'password'=>$pass))->row();
// $data = array('logged_in'=>true, 'loger'=>$select->username);*/
$this->session->set_userdata(array('username'=>$user,'idperson'=>$select->idperson,
'foto'=>$select->foto));
if($select->kdlevel=='klAd'){
redirect('C_Login/pageAdmin');
}elseif ($select->kdlevel=='klOr') {
redirect('C_Login/pageOrangtua');
}elseif ($select->kdlevel=='klG') {
redirect ('C_Guru/sikap');
}
}else{
$this->session->set_flashdata('err','username atau password salah');
redirect('C_Login/index');
}
}
这里是我上传头像控制器的方法
public function do_upload()
{
$this->load->library('upload');
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('userfile'))
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('uploadfoto', $error);
}
else
{
$person=$this->session->userdata('idperson');
$img=$this->upload->data();
$foto=$img['file_name'];
$data=array('foto'=>$foto);
$edit=$this->M_Upload->editData('usersystem', $data, $person);
// print_r($person);
if ($edit>0) {
$_SESSION['foto']=$edit;
redirect('upload/index');
}else{
echo "gagal";
}
}
}
这是我显示个人资料图片的视图
<div class="profile-userpic">
<img class="nav-user-photo" src="<?php echo base_url('uploads/'.$this->session->userdata('foto')); ?>" />
</div>
解决方案
希望对你有帮助 :
您必须首先取消设置foto
会话,然后在您的 if 条件下再次设置它
你的else
情况应该是这样的:
$person = $this->session->userdata('idperson');
$img = $this->upload->data();
$foto = $img['file_name'];
$data = array('foto'=>$foto);
$edit = $this->M_Upload->editData('usersystem', $data, $person);
if ($edit > 0)
{
$this->session->unset_userdata('foto');
$this->session->set_userdata('foto', $foto);
redirect('upload/index');
}
else
{
echo "gagal";
}
更多信息:https ://www.codeigniter.com/user_guide/libraries/sessions.html#removing-session-data
推荐阅读
- java - 使用 Java 批量上传到 Box*
- javascript - 如何使用 JS 和 DOM 创建元素、设置属性、使用 innerHTML 和 appendChild
- c# - 如何从方法返回一些东西以打破 C# 中的循环?
- javascript - req.isAuthenticated() 重定向更改?
- azure - Azure“文本转语音”返回“无效的 CID 或语言”。这是什么意思?
- dictionary - 如何链接 LinkedList 节点以映射值
- opengl - GLFW_TRANSPARENT 和 GLFW_ALPHA_MASK 未定义
- python - Keras - Glorot 统一初始化器:输入和输出单元?
- javascript - 在生产环境中构建和运行时找不到模块“./static”
- wordpress - 如何在加载网页 5 分钟后运行 Javascript 代码?