vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Php help, I have code, I need to modify it. Thanks for any help. (https://vborg.vbsupport.ru/showthread.php?t=147505)

4x4 Mecca 05-18-2007 01:57 AM

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?

Eikinskjaldi 05-18-2007 02:01 AM

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.

4x4 Mecca 05-18-2007 02:38 AM

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.

Eikinskjaldi 05-18-2007 05:02 AM

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')); 


4x4 Mecca 05-18-2007 02:57 PM

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.


All times are GMT. The time now is 08:21 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01850 seconds
  • Memory Usage 1,755KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete