Thanks Jonathan,
I'm trying to include a file /includes/dblib.inc from /main/page.php. In
/main/page.php I use include("includes/dblib.inc");. When that didn't work,
I tried copying the file to /main/ and including it there and that didn't
work either. Finally, I tried adding a specific path to the php.ini file
for includes_path and put the files there and that worked. Then I went and
changed the php.ini file to remove the reference (still trying to get it to
work the way I THINK it should) and then it WORKED! But ONLY from within
/main/. Each time I make these changes, I am making a matching change in
the actual include() statement at the top of /main/page.php and I am
restarting apache each time I change php.ini.
So, maybe this is the question. Can you include a file from /main/page.php
by using a path of /includes/dblib.inc?
dblib.inc has functions that do connections and queries to a mysql database.
Even stranger yet, is that I have one other include file called userlib.inc
that has authentication related session functions. Well, that hasn't worked
at all no matter what, unless I put the functions in /includes/userlib.inc
directly into the file /main/page.php. Once there, all the functions work
fine. Otherwise, the only error messages I get are regarding unknown
functions being referenced, yet, I never get an error that the include files
can't be found. It's all crazy to me.
Currently, both of my include files are called directly with two lines like:
include("dblib.inc");
include("userlib.inc");
They are both located in /main/ along side page.php which is calling them.
They both seem to work this way, but as soon as I place them in /includes/
and try to call them using:
include("includes/dblib.inc");
include("includes/userlib.inc");
I get errors saying that the functions can't be found, however, no errors
saying it can't find the include files??
Lastly, even with both include files in /main/ I still have some strange
problem with my userlib.inc file because the single function that is in
there won't work unless the function is pasted directly into /main/page.php.
I think I've made this message way too long but I appreciate your help.
I've got the page working reliably with the functions all pasted into
page.php but not while including those functions. I just can't think of
what could be making it difference. The functions are all the same, just
running from an include file is a problem.
Thanks again, just writing this up has helped to make more sense to me. I
think the crux of the whole thing is the path. I'm using to including files
in ASP and those can be relative so something like ../includes/dblib.inc
works great.
...Brad
"Jonathan Hilgeman" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> #1. You may want to double-check the path where you're calling it from in
> case you're working with subdirectories.
>
> Let's saying you access a page at www.domain.com/page.php which calls
> www.domain.com/includes/header.inc.
> Then, header.inc includes the dblib.inc file at
> www.domain.com/includes/dblib.inc. However, the include's base directory
> will still be in page.php - the directory won't change to includes, so for
> header.inc to include dblib.inc, it has to say:
> include("includes/dblib.inc");
> NOT
> include("dblib.inc");
> Otherwise, it will be trying to include www.domain.com/dblib.inc because
the
> page that started the whole chain reaction of includes is located at
> www.domain.com/page.php
>
> #2. If you have error reporting turned off, and there is a parsing error
in
> your files, the page may just die without giving a reason. Try turning off
> any error reporting and also access those include files like userlib.inc
> directly in your web browser to see if PHP reports any errors. You may
need
> to change the extension to something like userlib.inc.php for the web
server
> to recognize the request correctly.
>
> #3. Please give us a little more detail on the errors you're getting (any
> specific messages would be nice).
>
> - Jonathan
>
> -----Original Message-----
> From: Rick Emery [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, March 27, 2002 3:42 PM
> To: 'Brad Melendy'; [EMAIL PROTECTED]
> Subject: RE: [PHP-DB] include() statement hell!
>
>
> did you start each include file with:
> <?php
> ?>
>
> If not, PHP treats the code within as straight text
>
> -----Original Message-----
> From: Brad Melendy [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, March 27, 2002 5:03 PM
> To: [EMAIL PROTECTED]
> Subject: [PHP-DB] include() statement hell!
>
>
> Ok, I've spent some time reading the docs at php.net and I'm still
confused.
>
> After a couple hours, I have an include file working with a statement
like:
>
> include ("dblib.inc");
>
> However, to add to my confusion, I've got a second include file statement
on
> the next line:
>
> include ("userlib.inc");
>
> And that doesn't work.
>
> Most crazy of all, if I just put the darn functions all in the PHP file
that
> is trying to call the include files, everything works perfectly.
>
> So far I have my include_path line in the pho.ini file set to no value
since
> I'm just using include files that exist in the same directory as the
calling
> php file. this after I could NOT get the files to be properly recognized
> from their own include directory. As far as I'm concerned, you should be
> able to include a relative path with the included filename and have it
work.
> Too bad that doesn't work in PHP.
>
> So, long story short, I'm about to give up on include statements and just
> copy and paste my functions all over the place. Does anyone have any
ideas
> why this is so difficult for me? What am I missing? This stuff is easy
in
> ASP but PHP is giving me serious heart-ache. :-(
>
> Thanks for any tips or suggestions.
>
> ....Brad
>
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php