質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Q&A

解決済

1回答

147閲覧

$this->request->getPost() で値が取得できない。

_shimi

総合スコア1

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

0グッド

0クリップ

投稿2024/03/14 04:52

実現したいこと

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で取得する方法が分かりません。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

$_POST関数で取得すると値が取得できました。

投稿2024/03/14 06:47

_shimi

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問