vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   PHP Include errors (https://vborg.vbsupport.ru/showthread.php?t=207008)

testbot 03-01-2009 02:10 PM

PHP Include errors
 
hi i wrote the following and it works fine in an iframe or whatever but if i try to use include i get the following errors.

include '/home/***/public_html/community/cforumstats.php';
PHP Code:

[26-Feb-2009 08:33:54PHP Parse error:  syntax errorunexpected T_STRING in /home/***/public_html/community/cforumstats.php(43) : eval()'d code on line 1
[26-Feb-2009 08:34:00] PHP Parse error:  syntax error, unexpected T_STRING in /home/***/public_html/community/cforumstats.php(43) : eval()'
d code on line 1
[01-Mar-2009 09:58:53PHP Fatal error:  Call to a member function query_first_slave() on a non-object in /home/***/public_html/community/includes/functions.php on line 1368
[01-Mar-2009 09:59:27PHP Fatal error:  Call to a member function query_first_slave() on a non-object in /home/***/public_html/community/includes/functions.php on line 1368
[01-Mar-2009 10:02:17PHP Fatal error:  Call to a member function query_first_slave() on a non-object in /home/***//public_html/community/includes/functions.php on line 1368 

here's the code:
PHP Code:

<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''cforumstats'); // change this depending on your filename

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(

);

// get special data templates from the datastore
$specialtemplates = array(

);

// pre-cache templates used by all actions
$globaltemplates = array(
    
'cforumstats',
);

// pre-cache templates used by specific actions
$actiontemplates = array(

);

// ######################### REQUIRE BACK-END ############################
chdir('/home/***/public_html/community');
require_once(
'./global.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$navbits = array();
//$navbits[$parent] = 'cforumstats';

//$navbits = construct_navbits($navbits);
//eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' fetch_template('cforumstats') . '");');

?>

ANY HELP WOULD BE FANTASTIC!!

--------------- Added [DATE]1235927532[/DATE] at [TIME]1235927532[/TIME] ---------------

darn it! why would this work when i load the page in the browser but not using include? :x

works: www.example.com/cforumstats.php

does not work: include '/path/to/cforumstats.php';

TigerC10 03-01-2009 03:54 PM

You're changing the working directory and not changing it back to what it was... That messes up your includes big time because it doesn't automatically change back.

Do like this:
PHP Code:

// ######################### REQUIRE BACK-END ############################ 
$curdir getcwd();
chdir('/home/***/public_html/community'); 
require_once(
'./global.php');
chdir($curdir); 


testbot 03-01-2009 05:21 PM

thank you for your reply!

i think i'm one step closer now because i only get one error now...

[01-Mar-2009 13:20:13] PHP Fatal error: Call to a member function query_first_slave() on a non-object in /home/***/public_html/community/includes/functions.php on line 1368

Mr-Moo 03-01-2009 05:47 PM

It appears that you are referencing items before having any reference sheet. Try including the global.php file first.

testbot 03-01-2009 06:45 PM

new code below still gives this:
PHP Fatal error: Call to a member function query_first_slave() on a non-object in /home/***/public_html/community/includes/functions.php on line 1368
PHP Code:

<?php


// ######################### REQUIRE BACK-END ############################
$curdir getcwd();
chdir('/home/***/public_html/community');
require_once(
'./global.php');
chdir($curdir);

// ####################### SET PHP ENVIRONMENT ###########################

error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''cforumstats'); // change this depending on your filename


// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(

);

// get special data templates from the datastore
$specialtemplates = array(

);

// pre-cache templates used by all actions
$globaltemplates = array(
    
'cforumstats',
);

// pre-cache templates used by specific actions
$actiontemplates = array(

);


// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$navbits = array();
//$navbits[$parent] = 'cforumstats';

//$navbits = construct_navbits($navbits);
//eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' fetch_template('cforumstats') . '");');
?>


Mr-Moo 03-01-2009 07:10 PM

I would recommend you go through your code and look for any imperfections. What the code is saying that it is looking to reference something but there is a no object to look at.

I am out of ideas, I have reviewed the code and see nothing wrong. Since I do not have the other files to review and test I cannot tell you why.

Make sure all files are calling the correct directory. You may have some files calling the incorrect directories of their files.

testbot 03-01-2009 07:35 PM

the code works otherwise it wouldn't work when it's loaded directly in the browser (http://www.example.com/cforumstats.php).

it's weird. i've been banging my head against the wall for a min.

i'm trying to think if maybe it's conflicting with some modules on the main site or something.

ps- i'm in chicago too ;)

Mr-Moo 03-01-2009 07:36 PM

Yes, like I said, since you are including it something is not being called correctly. I will see what I can find out for you.

// Edit //

Try removing the "./" in the beginning of Global.php. Your global.php should be in the same directory as your main forum installation. You are moving a directory back to your root folder.

testbot 03-01-2009 10:00 PM

i thought ../ was moving back a directory and ./ was the same directory.

but i'll give that a try and get back to ya. :)

Lynne 03-01-2009 10:32 PM

I don't understand how that little php script can produce that error when nothing is even done in there. What is in your template?

testbot 03-01-2009 10:35 PM

yea, same error.

i removed everything except the necessities and still same error.

PHP Code:

<?php
error_reporting
(E_ALL & ~E_NOTICE);

// # DEFINE IMPORTANT CONSTANTS
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''cforumstats');

// # REQUIRE BACK-END
$curdir getcwd();
chdir('/home/***/public_html/community');
require_once(
'global.php');

// # START MAIN SCRIPT
$navbits = array();
eval(
'print_output("' fetch_template('cforumstats') . '");');
chdir($curdir);
?>


Lynne 03-01-2009 10:38 PM

You have removed necessary stuff. You should start off with one of these (get it working with a basic template) and add from there - How to create your own vBulletin-powered page! (uses vB templates) or [How-To] vBulletin API Basics: Creating Custom Pages & Misc.

testbot 03-01-2009 11:16 PM

Quote:

Originally Posted by Lynne (Post 1757998)
You have removed necessary stuff. You should start off with one of these (get it working with a basic template) and add from there - How to create your own vBulletin-powered page! (uses vB templates) or [How-To] vBulletin API Basics: Creating Custom Pages & Misc.

both ways work. i used that link to create it originally. you can see it in the first post.

either way, this link works http://www.ampprod.com/community/cforumstats.php

but if i do 'include /home/***/public_html/community/cforumstats.php' or add the code directly into a module on my main site it gets the following error.

PHP Fatal error: Call to a member function query_first_slave() on a non-object in /home/***/public_html/community/includes/functions.php on line 1368

Lynne 03-01-2009 11:21 PM

That query is right after a plugin. Have you tried disabling your plugins to see if that fixes the issue?

testbot 03-01-2009 11:56 PM

Quote:

Originally Posted by Lynne (Post 1758052)
That query is right after a plugin. Have you tried disabling your plugins to see if that fixes the issue?

sorry if this is a dumb question i'm not sure what you mean. what query is right after what plugin?

Lynne 03-02-2009 03:21 AM

The one you are getting an error on...
Quote:

PHP Fatal error: Call to a member function query_first_slave() on a non-object in /home/***/public_html/community/includes/functions.php on line 1368
Line 1368 of functions.php is where the problem is and this is the line:
PHP Code:

    $user $vbulletin->db->query_first_slave(

This is just above there:
PHP Code:

    $hook_query_fields $hook_query_joins '';
    (
$hook vBulletinHook::fetch_hook('fetch_userinfo_query')) ? eval($hook) : false


Dismounted 03-02-2009 05:00 AM

Please post the actual PHP file you are using (and any associated templates).

testbot 03-02-2009 05:19 AM

1 Attachment(s)
Template (cforumstats)
Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]" style="background-image:none;padding:0px;margin:0px;background-color:none;">
<head>
<title></title>
$headinclude
</head>
<body style="background-image:none;padding:0px;margin:0px;background-color:#000000;">
<div style="width:100%;background-color:none;">
$cybtopstats
</div>
</body>
</html>

attached 'cforumstats.php'

working url: http://www.ampprod.com/community/cforumstats.php

testbot 03-03-2009 02:12 PM

Quote:

Originally Posted by testbot (Post 1758229)
Template (cforumstats)
Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]" style="background-image:none;padding:0px;margin:0px;background-color:none;">
<head>
<title></title>
$headinclude
</head>
<body style="background-image:none;padding:0px;margin:0px;background-color:#000000;">
<div style="width:100%;background-color:none;">
$cybtopstats
</div>
</body>
</html>

attached 'cforumstats.php'

working url: http://www.ampprod.com/community/cforumstats.php

nothing?

Lynne 03-03-2009 03:02 PM

So you have a page that works fine as a standalone page. Exactly what code are you using to put it somewhere else? What hook location, what code, etc.

testbot 03-03-2009 03:56 PM

Quote:

Originally Posted by Lynne (Post 1759340)
So you have a page that works fine as a standalone page. Exactly what code are you using to put it somewhere else? What hook location, what code, etc.

if i take that page and include it in our cms like the following i get that error.

<div>
<?php include '../community/cforumstats.php'; ?>
</div>

or if i add the code directly into the page like:

<div>
<?php
error_reporting(E_ALL & ~E_NOTICE);

// # DEFINE IMPORTANT CONSTANTS
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'cforumstats');

// # REQUIRE BACK-END
$curdir = getcwd();
chdir('/home/***/public_html/community');
require_once('global.php');

// # START MAIN SCRIPT
$navbits = array();
eval('print_output("' . fetch_template('cforumstats') . '");');
chdir($curdir);
?>
</div>


for an update, i saw in the german vbulletin forum someone had the same problem but i can't read german so i don't know if it was solved or not. it looked like they were talking about cookeis.

Marco van Herwaarden 03-04-2009 07:18 AM

You should ask at the support thread/site of your CMS.

Mr-Moo 03-04-2009 03:51 PM

PHP Code:

<?php include '../community/cforumstats.php'?>

That is your answer, you have to remove the "../". PHP does not call directories like HTML or other languages do. Remove that small snippet and put your full root path and it should work :). Or at least that is my understanding, I remember when I transferred from HTML to PHP I was baffled at why my images and whatnot were not being displayed properly. I was told it was due to the ../ not moving directories as it does with HTML.

Should look like:
PHP Code:

<? include "/home/***/public_html/community/cforumstats.php';" ?>


testbot 03-06-2009 01:30 AM

Quote:

Originally Posted by Marco van Herwaarden (Post 1759883)
You should ask at the support thread/site of your CMS.

they'll tell me it's not their code causing the problem. i'll give it a try though.



Quote:

Originally Posted by Mr-Moo (Post 1760258)
PHP Code:

<?php include '../community/cforumstats.php'?>

That is your answer, you have to remove the "../". PHP does not call directories like HTML or other languages do. Remove that small snippet and put your full root path and it should work :). Or at least that is my understanding, I remember when I transferred from HTML to PHP I was baffled at why my images and whatnot were not being displayed properly. I was told it was due to the ../ not moving directories as it does with HTML.

Should look like:
PHP Code:

<? include "/home/***/public_html/community/cforumstats.php';" ?>



no luck. same error. ;)

Dismounted 03-06-2009 03:50 AM

Which error(s) are you getting specifically? The same few on the first page?

testbot 03-06-2009 11:36 AM

first, thanks for everyone's replies so far. some boards will just ignore you or just tell you to move on. i appreciate everyone's input so far.

i get this error:
Fatal error: Call to a member function query_first_slave() on a non-object in /home/***/public_html/community/includes/functions.php on line 1368

Dismounted 03-07-2009 10:30 AM

That error usually occurs when vBulletin's global.php is included inside of a function.

testbot 03-07-2009 12:25 PM

so since it's not inside a function withing my cforumstats.php file you think the cms is executing a function to include that code maybe? did that make sense?

--------------- Added [DATE]1236457601[/DATE] at [TIME]1236457601[/TIME] ---------------

actually, it doesn't seem to work anywhere outside the forum directory. i don't get any errors when i try outside the cms but the page just won't load. i think it might have to do with the 'Product' i'm trying to call.
$cybtopstats == Cyb - Advanced Forum Statistics.

not sure why the developer keeps ignoring my questions when it says in the description that what i'm trying to do can be done and that it's a supported Mod.

Dismounted 03-08-2009 04:59 AM

Try adding this to the top of your headinclude template:
HTML Code:

<base href="http://www.yoursite.com/forum" />

testbot 03-22-2009 11:37 AM

i seem to have this working anywhere outside the forum directory now.

it still won't work in the only place i need it though and that's the cms.

i'm guessing the cms is forcing it to be a nested function. is there anyway to get around the nested function thing?

thanks for stickin with me on this. :)


All times are GMT. The time now is 11:09 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.01474 seconds
  • Memory Usage 1,857KB
  • 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
  • (2)bbcode_code_printable
  • (1)bbcode_html_printable
  • (11)bbcode_php_printable
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (30)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