User addで登録した画像をEditページで更新出来るようにしたいのですが、
Notice (8): Undefined index: stamp [APP/Controller\UsersController.php, line 105]
というエラーが出てしまいます。
Notice: Undefined indexが未定義の配列の要素を使用した時に出るエラーということは理解したのですがどこを修正すべきかがわかりません。
どこを修正すれば画像を更新出来るか教えていただけないでしょうか?
public function add() { $user = $this->Users->newEntity(); if ($this->request->is('post')) { $image = date('YmdHis') . $_FILES['stamp']['name']; move_uploaded_file($_FILES['stamp']['tmp_name'], '../webroot/img/' . $image); $_SESSION['join']['stamp'] = $image; $new_data = $this->request->getData(); $new_data['stamp'] = $image; $user = $this->Users->patchEntity($user, $new_data); if ($this->Users->save($user)) { $this->Flash->success(__('ユーザー登録が完了しました。')); return $this->redirect(['controller' => 'estimations','action' => 'index']); } $this->Flash->error(__('The user could not be saved. Please, try again.')); } // $departments = TableRegistry::get('Departments')->find()->toArray(); $departments = Hash::combine($departments, '{n}.id', '{n}.department_name'); $this->set(compact('user','departments')); } public function edit($id = null) { $user = $this->Users->get($id, [ 'contain' => [], ]); if ($this->request->is(['patch', 'post', 'put'])) { $image = date('YmdHis') . $_FILES['stamp']['name']; move_uploaded_file($_FILES['stamp']['tmp_name'], '../webroot/img/' . $image); $_SESSION['join']['stamp'] = $image; $new_data = $this->request->getData(); $new_data['stamp'] = $image; $user = $this->Users->patchEntity($user, $new_data); if ($this->Users->save($user)) { $this->Flash->success(__('ユーザー情報を更新しました。')); return $this->redirect(['controller' => 'estimations','action' => 'index']); } $this->Flash->error(__('ユーザー情報を更新出来ませんでした。')); } $this->set(compact('user')); }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。