Получение переменной через очиститель ввода 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 (это просто больше не процветающее сообщество), а также читал любые страницы, которые я мог найти по этому вопросу, причем ЭТА СТРАНИЦА является наиболее полезной.