実現したいこと
Codeigniter4を使用して、アカウント登録処理を作成しています。
Viewファイルにformタグを設置してmethod属性をPOSTで設定して送信処理をしてます。
このViewファイルから送られてくる入力データをDBに登録するといった処理を作りたいです。
発生している問題・分からないこと
問題としては、Viewファイルから送られてくるデータがコントローラー側にて値が取得できずにいます。
この対処法を教えていただけますでしょうか??
該当のソースコード
Viewファイル
1<form action="/wsroot/user_admin/store" method="get" id="myForm" enctype="multipart/form-data"> 2 <?= csrf_field() ?> 3 <table cellspacing="0" cellpadding="0"> 4 <col style="width:80.0px" class="midashi" /> 5 <col style="width:270.0px" class="input" /> 6 <tr> 7 <td><b>ログイン</b></td> 8 <td><label><input size="40" type="checkbox" name="enable_flg" id="enable_flg" value="1" class="ime_act" <?if(!empty($user_admin['enable_flg'])):?>checked<?endif;?>/>許可</label></td> 9 </tr> 10 <tr> 11 <td><b>ID(メールアドレス)</b></td> 12 <td> 13 <input size="40" type="text" name="mail_address" id="mail_address" value="<?if(!empty($user_admin['mail_address'])) echo esc($user_admin['mail_address'])?>" class="ime_dis" /> 14 <br /><span style="color: red;"><?= \Config\Services::validation()->showError('mail_address'); ?><span> 15 </td> 16 </tr> 17 <tr> 18 <td><b>パスワード</b></td> 19 <td> 20 <input size="20" type="text" name="password" id="password" value="<?if(!empty($user_admin['password']))echo esc($user_admin['password'])?>" class="ime_dis" /> 21 <input type="button" value="自動発行" onclick="password.value=rand_str(8);" class="btn_glay" /><br>※半角英数8桁 22 <br /><span style="color: red;"><?= \Config\Services::validation()->showError('password'); ?><span> 23 </td> 24 </tr> 25 <tr> 26 <td><b>アカウント</b></td> 27 <td> 28 <input size="40" type="text" name="admin_name" id="admin_name" value="<?if(!empty($user_admin['admin_name']))echo esc($user_admin['admin_name'])?>" class="ime_act" /> 29 <br /><span style="color: red;"><?= \Config\Services::validation()->showError('admin_name'); ?><span> 30 </td> 31 </tr> 32 </table> 33 34 <div id="mySubmit_box"><input type="submit" value=" 設 定 " id="mySubmit"></div> 35 <br> 36</form>
Controllerファイル
1public function store() 2 { 3 $model = new UserAdmin(); 4 5 $PostData= $this->request->getPost(); 6 7 dd($PostData); 8 }
Routes.php
1$routes->match(['get', 'post'], 'store', 'Wsroot\AdminUser::store'); 2$routes->post('store', 'Wsroot\AdminUser::store');
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ソースコードの中でmethodをGETに変更すると値を取得できました。
POSTにすると取得できません。
$this->request->getMethod() メソッドで取得されるのがすべてgetになっていることが関係しているかとおもうのですが、POSTで取得する方法が分かりません。
補足
特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。