Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 05-18-2007, 02:57 AM
4x4 Mecca 4x4 Mecca is offline
 
Join Date: Feb 2007
Posts: 396
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Php help, I have code, I need to modify it. Thanks for any help.

The code was originally this
PHP Code:
    $vbulletin->input->clean_gpc("p","userbarid",TYPE_INT);
    
$userbarresult=$db->query_read("SELECT userbarid FROM ".TABLE_PREFIX."userbar WHERE userbarid='".$vbulletin->GPC['userbarid']."'");
    if(!
$db->num_rows($userbarresult)){
        eval(
standard_error(fetch_error('unvalid_userbar')));
    }
    
$db->query_write("UPDATE ".TABLE_PREFIX."user SET userbar='".$vbulletin->GPC['userbarid']."' WHERE userid='".$vbulletin->userinfo['userid']."'");
    
$vbulletin->url 'usercp.php' $vbulletin->session->vars['sessionurl_q'];
    eval(
print_standard_redirect('redirect_userbarselected')); 

I changed it to this

PHP Code:
    $vbulletin->input->clean_gpc("p","userbarid",TYPE_INT);
    
$userbarresult=$db->query_read("SELECT userbarid FROM ".TABLE_PREFIX."userbar WHERE userbarid='".$vbulletin->GPC['userbarid']."'");
    
$vbulletin->input->clean_gpc("p","userbarpath",TYPE_VARCHAR);
    
$userbarresult=$db->query_read("SELECT userbarpath FROM ".TABLE_PREFIX."userbar WHERE userbarpath='".$vbulletin->GPC['userbarpath']."'");
    if(!
$db->num_rows($userbarresult)){
        eval(
standard_error(fetch_error('unvalid_userbar')));
    }
    
$db->query_write("UPDATE ".TABLE_PREFIX."user SET userbar='".$vbulletin->GPC['userbarid']."' WHERE userid='".$vbulletin->userinfo['userid']."'");
    
$vbulletin->url 'usercp.php' $vbulletin->session->vars['sessionurl_q'];
    eval(
print_standard_redirect('redirect_userbarselected'));
    
    
$db->query_write("UPDATE ".TABLE_PREFIX."user SET userbarpath='".$vbulletin->GPC['userbarpath']."' WHERE userbarpath='".$vbulletin->userinfo['userbarpath']."'");
    
$vbulletin->url 'usercp.php' $vbulletin->session->vars['sessionurl_q'];
    eval(
print_standard_redirect('redirect_userbarselected')); 
I don't know anything about coding, but I'm trying to grab another set of data called userbarpath and insert it into the user table. I get an error that says userbar does not exist when I try.. can someone please tell me why I'm doing wrong?
Reply With Quote
  #2  
Old 05-18-2007, 03:01 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

For which query is it complaining?

I would guess that you user table does not have the userbar field in it, but without the actual error message, it is but a guess. Also your queries are completely screwy, you are setting two queries but only reading once, and both of those queries are pointless.

"select field from table where field=blah is only ever going to return blah or nothing.

Perhaps if you explained what you are trying to do.
Reply With Quote
  #3  
Old 05-18-2007, 03:38 AM
4x4 Mecca 4x4 Mecca is offline
 
Join Date: Feb 2007
Posts: 396
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, more details, sorry.

The hack I've installed adds a userbar to a members profile, I'm trying to add it to their sigs, but it won't display there.

When a user chooses their bar it takes the "userbarid" field from the "userbar" table and copies the value to the the user table in a field called "userbar"

I've created a field called "userbarpath" in the user table and want it to take the "userbarpath" from the "userbar" table and copy it there.

Thanks for your help.
Reply With Quote
  #4  
Old 05-18-2007, 06:02 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I dont know why you are getting the error, so please post a full version of the error you are getting here. here's some better code with an explanation.


PHP Code:
//this first line grabs userid from the form/page that the user submitted
//and "cleans" it...makes sure it is an integer.  This is a security thing.
$vbulletin->input->clean_gpc("p","userbarid",TYPE_INT);

//Now lets grab the data from the database
$userbarquery=$db->query_read("SELECT userbarid, userbarpath FROM ".TABLE_PREFIX."userbar WHERE userbarid='".$vbulletin->GPC['userbarid']."'");

//if there was no data, exit with an approproriate error page
    
if(!$db->num_rows($userbarquery)){
        eval(
standard_error(fetch_error('unvalid_userbar')));
    }

//if there was data, retrieve it. (assume only one row of data)
$userbardata $db->fetch_array($userbarquery);

//$userbardata is an array, with members  $userbardata['userbarid'] and $userbardata['userbarpath'].  The former is identical to $vbulletin->GPC['userbarid']

//now write out the data
    
$db->query_write("UPDATE ".TABLE_PREFIX."user SET userbar='".$vbulletin->GPC['userbarid']."', userbarpath='".$userbardata['userbarpath']."' WHERE userid='".$vbulletin->userinfo['userid']."'");
    
$vbulletin->url 'usercp.php' $vbulletin->session->vars['sessionurl_q'];
    eval(
print_standard_redirect('redirect_userbarselected')); 
Reply With Quote
  #5  
Old 05-18-2007, 03:57 PM
4x4 Mecca 4x4 Mecca is offline
 
Join Date: Feb 2007
Posts: 396
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for your code! It worked great! Thanks again man. I'll learn from that code and be able to do it my self from now on.
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 07:50 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.08911 seconds
  • Memory Usage 2,231KB
  • Queries Executed 13 (?)
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
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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_postinfo_query
  • fetch_postinfo
  • 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