2013-05-15 40 views
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后,没什么会话确认不起作用。我打印的值是空的。如果在函数运行良好并载入数据之前,它是如何发生的?这个函数应该检查被加载的数据是否改变,然后提交新的数据。

请帮助:)

回答

0

更改此:

if(isset($session_user) && $session_user != '' && $session_user != null)

这样:

if(!empty($session_user))

+0

它刚来到装有相同的控制器视图和清除会话。我通过隐藏的输入字段报告数据来解决这个问题(因为它是一个编辑信息页面)。 –