The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
![]()
Hope you guys can help me out a bit on this.
What I'm doing is this: In my vbulletin $header, I have my own template + some code to set cookies and stuff that has nothing to do with vbulletin, this is supposed to happen on both vbulletin pages and non-vbulletin pages.. What happens is, if i call my header.php from my own pages, it works great.. but when the header.php file gets called from a vbulletin page, i can not work with variables, they are blanked some where along the way (like $_GET['whatever'] and such will not work). Specifically, i want $_GET['do'], and $_POST['vb_login_username/password'] to get passed along, but they refuse to, even if i try reassigning them to different variables inside vb itself, they also get blanked by the time they get to my includes. I'm not that seasoned with PHP, so it's like looking for something i don't even know what looks like within the vb code. Help is much welcome |
#2
|
|||
|
|||
![]()
Shouldn't you put that kind of code in the phpinclude start template instead of the header?
|
#3
|
|||
|
|||
![]() Quote:
Still $_GET['do'] or whatever within my header.php (called from phpinclude_start) turn out blank no matter what I try. |
#4
|
|||
|
|||
![]()
It's really hard to say without seeing more code.
The best I can offer is to assign the server variables to another variable a la: Code:
$var = $_GET['whatever']; Code:
if (!isset($var)){ blah blah blah } else { yadda yadda yadda } |
#5
|
|||
|
|||
![]() Quote:
Here's how I tested it and set it up: The file header.php is called from phpinclude_start, header.php includes some setcookie and session management code. On my own pages, where header.php is included.. let's call it my_non_vb_related_page.php, i do this in the include file: Code:
// header.php called from my_non_vb_related_page.php print_r($_GET); // This results in the correct output as i would expect from the URL string I'm using. Then I put this in the functions.php file that comes with vbulletin (just to make sure I'm not crazy): Code:
// Inside functions.php print_r($_GET); // This results in the correct output as i would expect from the URL string I'm using. and add this to the same file: $brand_new_var = $_GET['whatever']; echo $brand_new_var; // Still works great! Code:
// Inside header.php called from showpost.php echo $brand_new_var; // Nothing again!! |
#6
|
|||
|
|||
![]()
Try adding it to forum/global.php
And you'll need to include global.php before the variable is called in header.php. That's the root of your problem. You're calling a variable before it's set. Since I assume header.php loads before the vb page scripts. |
#7
|
|||
|
|||
![]()
adding it to global.php is the same story.
Code:
// Top of global.php, load a vb-page... $brand_new_var = $_GET; print_r($brand_new_var); // Works! Code:
// Top of header.php called from showpost.php print_r($brand_new_var); // Nothing // then.. print_r($_GET); // you get a empty array here... Code:
// Top of header.php called from myownpage.php print_r($brand_new_var); // Nothing, of coarse ;) // then.. print_r($_GET); // works fine |
#8
|
|||
|
|||
![]()
I edited my post up there
![]() ---> You'll need to include global.php before the variable is called in header.php. That's the root of your problem. You're calling a variable before it's set. Since I assume header.php loads before the vb page scripts. |
#9
|
|||
|
|||
![]()
:nervous: lol, you're absolutely right about the case in the middle. I'm not really sure what is called in what order, but I'm thinking that vb must blank some variables before it starts phpinclude because otherwise $_GET would not be blank , right?...
even if it explains why $brand_new_var turns out blank, it doesn't explain why I also get an empty $_GET/$_REQUEST Array in my header ? Thats really the problem, making it into another variable name would just be a way to get around it (if it actually would have worked).. ..also when I try including global.php from my header.php and try loading a page I get a bunch of database errors and the page does not load at all, but I shouldn't need to do that anyway on pages that have nothing to do with vb. |
#10
|
|||
|
|||
![]()
So... header.php doesn't reside in the same directory as the forums?
You're right though $_GET should still work as long as the variable is present in the url |
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|