Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 10-09-2005, 05:28 PM
RedFive RedFive is offline
 
Join Date: Nov 2004
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Passing additional variables to page using vB authorisation

Hi all,

I have successfully set up a members' area on my site which uses vB as the authorisation and member list. It all works rather well, except for when I want to pass additional variables to a page using this system.

I am using the code from https://vborg.vbsupport.ru/showthread.php?t=61112 to log in to the members' area. I'm running vB 3.5.

The problem comes when I have a page that requires additional variables to be passed, eg: http://example.com/members/index.php?my_id=1. vB seems to nullify all variables being sent that are not vB variables. I am aware of the reasons for doing so, but don't know of a sensible way of retaining the values of my variables. for use later in the php script.

Specifically, the code I am using at the top of each member's page is as follows:

PHP Code:
/* value for $my_id is passed in url, eg: test.php?my_id=1 */

chdir("/path/to/public_html/forum/");
require(
'./global.php'); 
chdir("/path/to/public_html/members/");

if (
$vbulletin->userinfo['userid']==0)
{
    require(
'/path/to/public_html/members/login.php');
    exit;
}

/* At this point, $my_id is empty */ 
Can you assist please?

Many thanks in advance.
Reply With Quote
  #2  
Old 10-09-2005, 08:52 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
$vbulletin->input->clean_gpc('r''my_id'TYPE_INT);
$my_ip $vbulletin->GPC['my_ip']; 
Reply With Quote
  #3  
Old 10-10-2005, 07:30 AM
RedFive RedFive is offline
 
Join Date: Nov 2004
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by MarcoH64
PHP Code:
$vbulletin->input->clean_gpc('r''my_id'TYPE_INT);
$my_ip $vbulletin->GPC['my_ip']; 
Thank you very much for your response. Might I just ask whether the code you supplied should be placed before or after the auth. section? I'd imagine it goes before global.php is called... is that correct?

Thanks again.
Reply With Quote
  #4  
Old 10-10-2005, 08:18 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wrong

global.php will clear all var's. All coding (accept the 4 special arrays and some defines) should be done after global.php.

PS I just noticed that your var is called 'my_ip' and will probably not be numeric, so you better use TYPE_STR instead of TYPE_INT.
Reply With Quote
  #5  
Old 10-10-2005, 09:28 AM
RedFive RedFive is offline
 
Join Date: Nov 2004
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmmm, okay, let's try this with a real-world example. Currently, I have my members' area coded as follows (which worked prior to vB 3.5).

The authorisation code is contained in checkauth.php located in the members' directory:

PHP Code:
<?
chdir("/path/to/public_html/forum/"); 
require('./global.php');  
chdir("/path/to/public_html/members/"); 

if ($vbulletin->userinfo['userid']==0) 

    require('/path/to/public_html/members/login.php'); 
    exit; 
}
?>
A centralised include file called global.php located in the members' directory is called at the top of every members' area page:

PHP Code:
<?
require_once('/path/to/public_html/members/checkauth.php');
include('/path/to/public_html/include/db.php');
?>
So, would I simply be able to do the following?

PHP Code:
<?
require_once('/path/to/public_html/members/global.php');

$vbulletin->input->clean_gpc('r', 'my_var', TYPE_INT); 
$my_var = $vbulletin->GPC['my_var'];

$sql = "SELECT * FROM my_table WHERE my_id = '$my_var'";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
?>
Quote:
Originally Posted by RedFive
Hmmm, okay, let's try this with a real-world example. Currently, I have my members' area coded as follows (which worked prior to vB 3.5).

The authorisation code is contained in checkauth.php located in the members' directory:

PHP Code:
<?
chdir("/path/to/public_html/forum/"); 
require('./global.php');  
chdir("/path/to/public_html/members/"); 

if ($vbulletin->userinfo['userid']==0) 

    require('/path/to/public_html/members/login.php'); 
    exit; 
}
?>
A centralised include file called global.php located in the members' directory is called at the top of every members' area page:

PHP Code:
<?
require_once('/path/to/public_html/members/checkauth.php');
include('/path/to/public_html/include/db.php');
?>
So, would I simply be able to do the following?

PHP Code:
<?
require_once('/path/to/public_html/members/global.php');

$vbulletin->input->clean_gpc('r', 'my_var', TYPE_INT); 
$my_var = $vbulletin->GPC['my_var'];

$sql = "SELECT * FROM my_table WHERE my_id = '$my_var'";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
?>
In fact, I'll answer my own question.

It works like a dream. Thanks MarcoH64 for your assistance!

Regards,

Red.
Reply With Quote
Reply


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 09:18 AM.


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.03913 seconds
  • Memory Usage 2,218KB
  • 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
  • (9)bbcode_php
  • (2)bbcode_quote
  • (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_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