web-dev-qa-db-ja.com

JInputを使用してjform []を使用せずにすべてのフィールドの値を取得する方法

ご存知のとおり、name="jform[something]"のような名前のすべてのフィールドの値を取得でき、次のコードを使用できます。

$jinput = JFactory::getApplication()->input;
$formData = new JRegistry($jinput->get('jform', '', 'array'));

しかし、たとえば<form name="myForm">などの名前の付いたフォームとname="something"のような名前のフィールド、つまりjform[]のないフィールドがある場合、同じことをする方法はありますか?

前もって感謝します

Joomla 3.5.1

4
stckvrw

はい、jformがなくてもフォームの値を取得できます。以下はアプローチです:

  • _$data = $jinput->post_:すべての投稿データを返します
  • $something = $jinput->post->get('something', 'default_value', 'filter');

ここを参照してください:

https://docs.joomla.org/Retrieving_request_data_using_JInput#Getting_Values_from_a_Specific_Super_Global

  • $data = $jinput->post->getArray():これは、jformの有無にかかわらずフォームフィールドのみを返し、投稿の値全体を返さないため、推奨される方法です。

お役に立てれば

5
Liz.