2011-05-24 84 views
0

:)此問題適用於任何熟悉Tankauth插件的人。Codeigniter幫助用戶註冊腳本

我編輯了tankauth,以便在沒有電子郵件驗證的情況下填充用戶配置文件。

在註冊表單中,我添加並驗證了兩個名爲「first_name」和「last_name」的字段,我想在提交表單時將其添加到user_profiles表中。

下面是tankauth函數,如果用戶被激活,它將用戶ID添加到user_profiles表。我評論說如果($激活)。問題是我不知道如何將我的新字段first_name和last_name插入到數據庫中。我不斷嘗試任何錯誤。

function create_user($data, $activated = TRUE) 
    { 
     $data['created'] = date('Y-m-d H:i:s'); 
     $data['activated'] = $activated ? 1 : 0; 

     if ($this->db->insert($this->table_name, $data)) { 
      $user_id = $this->db->insert_id(); 
      //if ($activated) 
      $this->create_profile($user_id); 
      return array(
         'user_id' => $user_id, 
         'first_name' => $first_name, //added by me 
               'first_name' => $first_name, //added by me 
         ); 
     } 
     return NULL; 
    } 

以上與

private function create_profile($user_id) 
    { 
     $this->db->set('user_id', $user_id); 
     $this->db->set('first_name', $first_name); //added by me 
     return $this->db->insert($this->profile_table_name); 
    } 

連接是否有人可以分享一些指導?

回答

1

嘗試刪除privateprivate function create_profile

你也可能要改變你的create_profile功能是:

function create_profile($user_id) { 
    $data = array(
     'user_id' => $user_id, 
     'first_name' => $first_name // Hopefully this is being set correctly. 
    ); 

    return $this->db->insert($this->profile_table_name, $data); 
} 

如果沒有這些工作。嘗試使用echo $this->db->last_query();

希望有所幫助。

+0

謝謝!它似乎也與私人工作。我也嘗試在create_user函數中添加一個數組並將其傳遞給create_profile。這也是有效的 – CyberJunkie 2011-05-24 02:54:30