我正在使用 Codeigniter 3 開發(fā)社交網(wǎng)絡(luò)應(yīng)用程序,Ion-Auth。Github 存儲(chǔ)庫 和 Bootstrap 4。您可以在此處查看編輯用戶的個(gè)人資料時(shí),我檢查編輯表單中是否有新的用戶照片(頭像)。如果是,我使用它,如果不是,我使用(保留)已存在于 users 表中的表(文件路徑為 application/controllers/Auth.php):$new_file = $this->upload->data('file_name');$this->file_name = (isset($new_file) && !empty($new_file)) ? $new_file : $user->avatar;上面的代碼工作正常。但是,我需要在會(huì)話中更新用戶的照片,為此我在下面添加了$this->file_name = (isset($new_file) && !empty($new_file)) ? $new_file : $user->avatar:if (isset($new_file) && !empty($new_file)) { $this->session->userdata('user_avatar') = $new_file;}上面的 if 語句會(huì)導(dǎo)致錯(cuò)誤“無法在寫入上下文中使用方法返回值”。我究竟做錯(cuò)了什么?
2 回答

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
您不需要同時(shí)使用兩者。
if?(isset($new_file)?&&?!empty($new_file))?{? ???$this->session->userdata('user_avatar')?=?$new_file; }
此處您應(yīng)該使用?$this->session->set_userdata('user_avatar',$new_file)
(根據(jù)用戶指南)。
所以就變成了
if?(!empty($new_file))?{? ???$this->session->set_userdata('user_avatar',$new_file); }
您甚至不需要考慮使用 isset(),因?yàn)槟谏厦娴拇a中定義 $new_file,因此它始終會(huì)被“設(shè)置”。即?isset($new_file)
?將永遠(yuǎn)為真。
但是如果 $new_file 為空,你打算做什么呢?這是你需要考慮的問題。
- 2 回答
- 0 關(guān)注
- 269 瀏覽
添加回答
舉報(bào)
0/150
提交
取消