2016-02-18 30 views
0

更新用戶表我試圖在我的應用程序上實現更改電子郵件和更改密碼功能,並且在學習了有關堆棧溢出的文檔和問題後,我似乎仍然遇到了麻煩。如何使用Ion Auth更新

我已被使用,其通過新的電子郵件的圖,像這樣:

<?php echo form_open("change_email"); ?> 
    <input name="changeemail" type="text" class="form-control" placeholder="New Email"> 
    <button type="submit" class="submit AccountButton">Submit</button> 
<?php echo form_close(); ?> 

和我的控制器應傳遞這些數據與所需的ID和多維數組對像這樣的更新功能:

public function change_email() 
{ 
$userId = $this->ion_auth->get_user_id(); 
$newemail = $this->input->post('changeemail'); 
$data = array(
    'email' => $newemail, 
); 
$this->ion_auth->update($userId, $data); 
} 

執行本功能並沒有收到任何錯誤,在檢查數據庫後,有沒有出現任何變化。

任何人都可以提供一些幫助嗎?

+0

沒有db-> where。 – user4419336

+0

'$ this-> ion_auth-> update($ userId,$ data);'返回TRUE? – DFriend

+0

我發現了這個問題 - 代碼正確執行並返回TRUE。但是,由於某些原因,點擊提交按鈕後,我沒有被引導到/ change_email代碼實際執行。任何想法爲什麼發生這種情況? –

回答

0

嘗試用分貝,其中

public function change_email() 

{ 
$userId = $this->ion_auth->get_user_id(); 
$newemail = $this->input->post('changeemail'); 
$data = array(
    'email' => $newemail, 
); 
$this->db->where('some_user_id_name', $userId); 
$this->db->update('user_table_name', $data); 
} 
+0

函數'ion_auth-> update($ userId,$ data);'在內部處理。 – DFriend

0

我不記得看到get_user_id()方法中Ion_Auth庫。你可以這樣做:

$user = $this->ion_auth->user()->row(); 
$userId = $user->id; 
$newemail = $this->input->post('changeemail'); 
$data = array(
    'email' => $newemail, 
); 
$this->ion_auth->update($userId, $data); 

希望這對你有所幫助。