0

次を使用して、コントローラーのフォームから値を取得した場合:

$jinput = JFactory::getApplication()->input;
$add_name = $jinput->get('name', 'Default name', 'STRING');

デフォルト値は という文字列として設定されると思いますDefault name

しかし、これをテストすると、値があるとは思えないようです:

if (!empty($add_name))
{
    //do stuff
    //I expect to be here because $add_name="Default name"
}
else
{
    //I actually go here
}

デフォルト値を誤解していますか?

編集

フォームが空の文字列で送信された場合、それが返されます。わかりました(今)。しかし、どのような状況でデフォルト値Default nameが割り当てられるのでしょうか$add_name

4

1 に答える 1

1

フォームで空の文字列を送信すると、デフォルト値の代わりに使用されます。JInput はisset()ではなくチェックするempty()ため、空の文字列は有効な値と見なされます。

于 2013-04-22T21:43:23.703 に答える