0
所以我使用会话来保存用户名,然后检查它是否存在。如果是,则使用它来更新与当前交易相关的信息。下面是我的代码:失去与codeigniter功能的会话
public function update_edit()
{
/* echo " //// INSIDE UPDATE EDIT "; */
$this->form_validation->set_rules('fullname', 'الاسم الكامل', 'isset|required|min_length[6]|max_length[100]');
//echo 'Username: ';
//check that there are no form validation errors
if($this->form_validation->run() == FALSE)
{
echo " //// INSIDE FORM VALIDATION";
if(($this->session->userdata('username')!=""))
{
echo " //// INSIDE SESSION VALIDATION";
$data = array();
$session_user = $this->session->userdata('username');
if(isset($session_user) && $session_user != '' && $session_user != null)
{
$data = $this->profileModel->load_user_editable_data($session_user);
$this->load->view('layout/header');
$this->load->view('profile_edit', $data);
$this->load->view('layout/footer');
}else{
$this->error_page();
}
}else{
//$this->load->view('login');
$this->login();
}
}else{
echo "dasdaskhdkjashjdas";
$session_user = $this->session->userdata('username');
echo "Session User: " . $session_user;
if(isset($session_user) && $session_user != '' && $session_user != null)
{
echo "going to update;";
$complete = $this->profileModel->update_profile($session_user);
echo "<br>finished updating...";
if($complete == 1)
{
echo "Complete = " . $complete;
$this->load->view('layout/header');
$this->load->view('update_complete');
$this->load->view('layout/footer');
}elseif($complete == 2){
echo "Complete = " . $complete;
$this->error_page();
}
}
}
}
这里的问题是,回声dasdaskhdkjashjdas后,没什么会话确认不起作用。我打印的值是空的。如果在函数运行良好并载入数据之前,它是如何发生的?这个函数应该检查被加载的数据是否改变,然后提交新的数据。
请帮助:)
它刚来到装有相同的控制器视图和清除会话。我通过隐藏的输入字段报告数据来解决这个问题(因为它是一个编辑信息页面)。 –