Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 07-17-2006, 02:33 AM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Question about input cleaner class

I have been trying to do all code goingforward utilizing vb's input cleaner class as opposed to $_GET, $_POST, $_REQUEST, etc... but it doesn't seem to want to cooperate with me... The block of code i havew which works fine as-is, is:
Code:
$sql = "SELECT " . TABLE_PREFIX . "erc_artistmbr.*, " . TABLE_PREFIX . "erc_artist.artisttitle 
		FROM " . TABLE_PREFIX . "erc_artistmbr
		LEFT JOIN " . TABLE_PREFIX . "erc_artist ON " . TABLE_PREFIX . "erc_artist.artistid = " . TABLE_PREFIX . "erc_artistmbr.artistid
		";

	if ($_GET['artistid'])
	{
		$sql .= " WHERE " . TABLE_PREFIX . "erc_artistmbr.artistid = '".$_GET['artistid']."'";
	}

		$sql .= " ORDER BY " . TABLE_PREFIX . "erc_artist.artisttitle, erc_artistmbr.displayorder";
		$artistmbrs = $db->query_read($sql);
and i tried to utilize it as follows, with no luck...
Code:
$getartistid = $vbulletin->input->clean_gpc('g', 'artistid', TYPE_INT);

$sql = "SELECT " . TABLE_PREFIX . "erc_artistmbr.*, " . TABLE_PREFIX . "erc_artist.artisttitle 
		FROM " . TABLE_PREFIX . "erc_artistmbr
		LEFT JOIN " . TABLE_PREFIX . "erc_artist ON " . TABLE_PREFIX . "erc_artist.artistid = " . TABLE_PREFIX . "erc_artistmbr.artistid
		";

	if ($getartistid)
	{
		$sql .= " WHERE " . TABLE_PREFIX . "erc_artistmbr.artistid = '$getartistid'";
	}

		$sql .= " ORDER BY " . TABLE_PREFIX . "erc_artist.artisttitle, erc_artistmbr.displayorder";
		$artistmbrs = $db->query_read($sql);
Anyone know why it's not working? The var $getartistid seems like it's set up properly, but whe ni run the script, it just comes up with a blank result set.
Thanks!
Reply With Quote
  #2  
Old 07-17-2006, 03:20 AM
Code Monkey's Avatar
Code Monkey Code Monkey is offline
 
Join Date: May 2004
Posts: 1,080
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
$vbulletin->input->clean_array_gpc('r', array(
            
'artistid'     => TYPE_UINT
));

$sql "SELECT " TABLE_PREFIX "erc_artistmbr.*, " TABLE_PREFIX "erc_artist.artisttitle 
        FROM " 
TABLE_PREFIX "erc_artistmbr
        LEFT JOIN " 
TABLE_PREFIX "erc_artist ON " TABLE_PREFIX "erc_artist.artistid = " TABLE_PREFIX "erc_artistmbr.artistid
        "
;

if (
$vbulletin->GPC['artistid'])
{
    
$artistid $vbulletin->GPC['artistid'];
    
$sql .= " WHERE " TABLE_PREFIX "erc_artistmbr.artistid = $artistid";
}

    
$sql .= " ORDER BY " TABLE_PREFIX "erc_artist.artisttitle, erc_artistmbr.displayorder";
    
$artistmbrs $db->query_read($sql); 
Reply With Quote
  #3  
Old 07-18-2006, 12:48 AM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks jumpd, works nicely in that instance, however for another situation, I am having problems using the cleaner class within a foreach loop...

My current code:
PHP Code:
if ($_POST['do'] == 'updatedisplayorder'
{
    foreach (
$_POST['order'] as $artistmbrid => $xdisplayorder
    {
        
$db->query_write("UPDATE " TABLE_PREFIX "erc_artistmbr SET `displayorder` = '".$xdisplayorder."' WHERE artistmbrid = '".$artistmbrid."'");
    }


What i tried that didn't work:
PHP Code:
if ($_POST['do'] == 'updatedisplayorder'
{
    
$vbulletin->input->clean_array_gpc('p', array(
        
'order' => TYPE_INT
    
));

    foreach (
$vbulletin->GPC['order'] as $artistmbrid => $xdisplayorder
    {
        
$db->query_write("UPDATE " TABLE_PREFIX "erc_artistmbr SET `displayorder` = '".$xdisplayorder."' WHERE artistmbrid = '".$artistmbrid."'");
    }

When i run the second above, it fails to update the display order. It does nothing. I know this class will start to make sense to me once i see a few examples with & without it's use, just taking me a little time to get used to using the cleaner class.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:44 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06997 seconds
  • Memory Usage 2,186KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete