Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 07-02-2011, 11:39 AM
stefan1994 stefan1994 is offline
 
Join Date: Aug 2010
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How to set a profilefield via PHP Code

Hello,

can someone tell me how i can set a profilefield of a user within my PHP Code?

At the moment I am using this code:
PHP Code:
if ($_REQUEST['do'] == 'update')
{
    
$vbulletin->input->clean_array_gpc('p', array(
        
'username'        => TYPE_STR,
        
'password'        => TYPE_STR
    
));

    
// init user data manager
    
$userdata =& datamanager_init('User'$vbulletinERRTYPE_STANDARD);
    
$userdata->set_existing($vbulletin->userinfo);

    
// profile stuff
    
$userdata->set('field5'$vbulletin->GPC['username']);
    
$userdata->set('field6'$vbulletin->GPC['password']);

    
// save the data
    
$userdata->save();

    if (
$vbulletin->session->vars['profileupdate'])
    {
        
$vbulletin->session->set('profileupdate'0);
    }

    
$vbulletin->url 'rodcust.php?' $vbulletin->session->vars['sessionurl'] . 'do=overview';
    eval(
print_standard_redirect('redirect_updatethanks'truetrue));

But this outputs errors:
Quote:
Schwerer Fehler: Field field5 is not defined in $validfields in class vB_DataManager_User in [path]\includes\class_dm.php (Zeile 515)
After some time of search i found this:
PHP Code:
    // set the valid fields
    
$userdata->validfields['field5'] = array(TYPE_STRREQ_YES);
    
$userdata->validfields['field6'] = array(TYPE_STRREQ_YES); 
and added it after before "// profile stuff". It ended up in this:
Quote:
Datenbankfehler in vBulletin 4.1.4:

Invalid SQL:
UPDATE user SET
field5 = 'test',
field6 = 'test'
WHERE userid = 1;

MySQL-Fehler : Unknown column 'field5' in 'field list'
Fehler-Nr. : 1054
Fehler-Zeit : Saturday, 02.07.2011 @ 11:32:51
Datum : Saturday, 02.07.2011 @ 11:32:51
Skript : http://domain.tld/page.php?do=update
Referrer : http://domain.tld/page.php
IP-Adresse : 255.255.255.255
Benutzername : user
Klassenname : vB_Database
MySQL-Version : 5.1.53-community-log
So please can someone tell me how i can set the profilefields "field5" and "field6" within my PHP code?
Reply With Quote
  #2  
Old 07-02-2011, 12:55 PM
vbresults vbresults is offline
 
Join Date: Apr 2009
Posts: 687
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

<a href="http://members.vbulletin.com/api/vBulletin/vB_DataManager_User.html#set_userfields" target="_blank">http://members.vbulletin.com/api/vBu...set_userfields</a>
Reply With Quote
  #3  
Old 07-02-2011, 01:09 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by stefan1994 View Post
So please can someone tell me how i can set the profilefields "field5" and "field6" within my PHP code?
You want to do something like this:

Code:
    
    $fields = array('field5' => $vbulletin->GPC['username'], 
                    'field6' => $vbulletin->GPC['password']);
    $userdata->set_userfields($fields);

You don't need to set the validfields.
Reply With Quote
  #4  
Old 07-02-2011, 04:16 PM
stefan1994 stefan1994 is offline
 
Join Date: Aug 2010
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you, works as expected.
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 05:45 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.03508 seconds
  • Memory Usage 2,198KB
  • 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
  • (1)bbcode_code
  • (2)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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