Получение переменной через очиститель ввода vBulletin

Я работаю над продуктом, основанным на ранее существовавших продуктах, это страница в admincp. Мне интересно, почему иногда я могу вытащить переменную GPC, а иногда нет, у меня эта проблема возникает в нескольких местах, но это лишь самая маленькая из них, чтобы привести пример.

Я могу тянуть productid с участием:$vbulletin->GPC['productid']

Но я не могу получить catid тянуть:$vbulletin->GPC['catid']

Это полная страница, о которой идет речь, просто страница простого подтверждения.

$vbulletin->input->clean_array_gpc('r', array(
  'productid' => TYPE_UINT,
  'catid' => TYPE_UINT
));

print_form_header('digigacp', 'dodeleteproduct');

construct_hidden_code('s', $vbulletin->session->vars['sessionhash']);
construct_hidden_code('adminhash', ADMINHASH);
construct_hidden_code('productid', $vbulletin->GPC['productid']);
construct_hidden_code('catid', $vbulletin->GPC['catid']);

print_table_header($vbphrase['confirm']);
print_description_row($vbphrase['are_you_sure']);
print_description_row('Product ID: ' . intval($vbulletin->GPC['productid']));
print_description_row('Category: ' . intval($vbulletin->GPC['catid']));
print_submit_row($vbphrase['yes'], '', 2, $vbphrase['no']);

Один из способов обойти это - использовать запрос, но поскольку я могу вытащить productid Я не понимаю, почему я не могу тянуть catid, когда они оба были отправлены через одну и ту же форму.

Вот как я сейчас решаю эту проблему:

$vbulletin->input->clean_array_gpc('r', array(
        'productid' => TYPE_UINT,
        'catid' => TYPE_UINT
    ));
  
  $info = $db->query_first("SELECT catid
    FROM " . TABLE_PREFIX . "products
    WHERE productid = " . intval($vbulletin->GPC['productid']) . "
  ");

    print_form_header('digigacp', 'dodeleteproduct');
    construct_hidden_code('s', $vbulletin->session->vars['sessionhash']);
    construct_hidden_code('adminhash', ADMINHASH);

    construct_hidden_code('productid', $vbulletin->GPC['productid']);
    construct_hidden_code('catid', $vbulletin->GPC['catid']);
    print_table_header($vbphrase['confirm']);
    print_description_row($vbphrase['are_you_sure']);
  print_description_row('Product ID: ' . intval($vbulletin->GPC['productid']));
  print_description_row('Category: ' . $info['catid']);
    print_submit_row($vbphrase['yes'], '', 2, $vbphrase['no']);

Я также спрашивал на форумах vBulletin (это просто больше не процветающее сообщество), а также читал любые страницы, которые я мог найти по этому вопросу, причем ЭТА СТРАНИЦА является наиболее полезной.

0 ответов

Другие вопросы по тегам