I'll do that Jonathan.  I want to thank you again, and everyone else that
gave me suggestions.  I think I finally understand all the 'rules' about the
include statement AND that I've got to keep a close eye on my typos.  Thanks
once again!

...Brad :-)

"Jonathan Hilgeman" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> You should also put quotes around your keys in your arrays if they're
> non-numeric. For instance:
> $session["logged_in"] instead of $session[logged_in]
>
> It's good coding habit, and it sometimes will save you from some
"constant"
> headaches (pun intended for everyone who has run into this problem
before).
>
> - Jonathan
>
>
>
> -----Original Message-----
> From: Brad Melendy [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, March 28, 2002 12:06 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [PHP-DB] include() statement hell!
>
>
> Thanks Jonathan,
> Your suggestions were very helpful, especially turning on the error
logging.
> Here is where I'm at now:
>
> Files in use:
> /include/dblib.inc
> /include/userlib.inc
> /main/page.php
>
> My include statements in /main/page.php:
> include("../include/dblib.inc");
> include("../include/userlib.inc");
>
> All the fuctions I call from dblib.inc work great, however, I have only a
> single function in userlib.inc and it generates an error.  The error I get
> is:
>
> Fatal error: Call to undefined function: cleansession()
>
> Here is the file userlib.inc:
>
> <php?
> session_start();
> session_register( "session" );
>
> function cleanSession( $id, $login, $pass )
>  {
>  global $session;
>  $session[id] = $id;
>  $session[login] = $login;
>  $session[password] = $pass;
>  $session[logged_in] = true;
>  }
> ?>
>
> Lastly, if I paste the above function  into page.php (without the
> session_start and session_register lines) it works fine.  I've tried
giving
> the function a different name, changing case, all sorts of stuff.  I've
> tried renaming it to userlib.php and I've opened the file directly in my
> browser with the error_reporting(2039); at the top and no error messages,
> yet it is as if the file never gets included.  I've tried including ONLY
> userlib.inc and pasting all the dblib.inc functions into page.php (to rule
> out dblib.inc screwing things up) and still I get the error.
>
> I am truly confounded at this point.  Thanks for any suggestions you have.
> I think I am almost out of "Include Statement Hell".  ;-)
>
> ...Brad
>
> "Jonathan Hilgeman" <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > > So, maybe this is the question.  Can you include a file from
> > > /main/page.php by using a path of /includes/dblib.inc?
> >
> > Probably not. PHP can "see" the whole filesystem, not just the area that
> is
> > limited to your account. So, when you try to include
"/includes/dblib.inc"
> > it is trying to go down to the SYSTEM root and open up a subdirectory
> called
> > includes and get the file dblib.inc inside it.
> >
> > If you copy the dblib.inc to the same directory as page.php, you should
> only
> > have to say:
> >  include("dblib.inc");
> >
> > However, if you have this layout:
> >  /your/account/dir/main/page.php
> >  /your/account/dir/includes/dblib.inc
> >  /your/account/dir/includes/userlib.inc
> >
> > Then page.php would have to say:
> >  include("../includes/dblib.inc");
> >
> > Which would go back one directory, THEN into the includes subdirectory,
> and
> > then it could find dblib.inc
> >
> > I would definitely add:
> >  error_reporting(2039);
> >
> > ...to the top of your page.php code to see if you can pick up any
errors.
> > Also, check your error log if you have one (contact your hosting company
> if
> > you're not sure).
> >
> > I would definitely try to solve this the normal way by finding the
problem
> > with the paths rather than trying to screw with your php.ini or
httpd.conf
> > file - otherwise you'll have a script that might not work if you ever
have
> > to move your scripts or copy them to a development server or something.
> >
> > - Jonathan
> >
> > -----Original Message-----
> > From: Brad Melendy [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, March 27, 2002 7:27 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [PHP-DB] include() statement hell!
> >
> >
> > 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
> >
> >
> >
>
>
>
> --
> 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

Reply via email to