1

整数でなければならない値を JInput から取得しています。

$input = new JInput();
$post = $input->getArray($_POST);
$value= $input->$post['value'];

値を文字列にするため、明らかにis_int()を使用できません$_POST-通常はfilter_input()で解決されます。整数ではないものはすべて拒否したいので、整数に変換しないでください。の線に沿って何かを使用する

$value=JFactory::getApplication()->input->get('value', '0', 'INT');

文字列を整数に強制します。(たとえば、1.2 と入力すると $value は 1 になります)。だから私はこのフィルターを達成する方法について行き詰まっています。理想的には、次のようなことをしたいと思います

if(is_int($delete)) {
    //Carry on processing data
} else {
    //Stop function and display a JError
JLog::add("Value is not a integer", JLog::WARNING, 'jerror');
}
4

3 に答える 3

0
$input = new JInput;
$email = $input->get('email', '', 'post');
$time = $input->get('time', '', 'post');
$move = $input->get('move', '', 'post');
$idcat = $input->get('idcat', '', 'post');
于 2013-02-04T11:12:00.043 に答える
0

使用しない理由:

$input = new JInput;
$value = $input->getInt('value');
于 2013-01-27T20:51:55.147 に答える
0

最後に、整数または浮動小数点値のチェック中の SO でそれを見つけました。

使用された最終的なコードは次のとおりです。

$input = new JInput();
$post = $input->getArray($_POST);
$value= $input->$post['value'];
//checks value is numeric and if it is a int
if(is_numeric($value) && (int) $value == $value) {
    //process data
} else {
    JLog::add("Value is not a integer", JLog::WARNING, 'jerror');
}
于 2013-01-27T23:38:51.993 に答える