You are here: Re: [PHP] Upgrade PHP 4.3.4 to PHP 5.0.3 (Windows 2k & IIS5), I recieve a Blank Page and Session errors « PHP « IT news, forums, messages
Re: [PHP] Upgrade PHP 4.3.4 to PHP 5.0.3 (Windows 2k & IIS5), I recieve a Blank Page and Session errors

Posted by Richard Lynch on 02/09/05 23:00

Fabian I. Cuesta wrote:
> Hi, I'm trying to upgrade the PHP version of my dev enviroment.
> After installing PHP5 I've just recieve a blank page. I activated the
> error
> log of PHP and recieve a couple of errors like this one:
>
> [09-Feb-2005 13:38:20] PHP Notice: Undefined index: sitedesc in
> c:\Inetpub\wwwroot\Inpae\admin\lib\headerFooter.php on line 40
>
> All related to $_SESSION, like the values are not set (sitedesc is one of
> the indexes of the variable $_SESSION)

But when you first start a session, a totally NEW session, is
$_SESSION['sitedoc'] initialized?

I assume not.

Your problem code looks something like this:
<?php
session_start();
if ($_SESSION['sitedoc']){
//whatever;
}
?>

PHP is notifying you that there is NO session index named 'sitedoc' yet,
but you're trying to read it and use the value -- the value that doesn't
exist.

You'll need to get in the habit of writing (and re-writing) code like this:
<?php
session_start();
if (isset($_SESSION['sitedoc']) && $_SESSION['sitedoc']){
//whatever
}
?>

You may also re-structure your code a bit if 'sitedoc' can take on several
values, so it ends up being more like:
<?php
session_start();
if (isset($_SESSION['sitedoc'])){
if ($_SESSION['sitedoc'] == 'whatever'){
}
elseif ($_SESSION['sitedocd'] == 'something else'){
}
}
?>

The point is that you shouldn't be "reading" session variables that were
never set to any value at all in the first place.

Sure, PHP will initialize them to 0 or '' or false, but the point here is
to catch typos where you have:
if ($_SESSION['sietdoc']){
}
else{
}

If you RARELY expect 'sitedoc' to be a TRUE value, and you don't do a lot
of unit testing, a typo bug like this could go undetected for a lonnnnng
time.

The PHP Notice warns you about things like this by not notifying you when
you try to read a variable that hasn't been set.

> Notice: C:\Inetpub\wwwroot\Inpae\lib\include.php line 15 - Undefined
> index:
> SCRIPT_NAME
> Notice: C:\Inetpub\wwwroot\Inpae\lib\include.php line 15 - Undefined
> index:
> PATH_TRANSLATED

See above.

> Debug Warning: C:\Inetpub\wwwroot\Inpae\lib\include.php line 3 -
> main(/config.php) [<a href='function.main'>function.main</a>]: failed to
> open stream: No such file or directory
> Compile Error: C:\Inetpub\wwwroot\Inpae\lib\include.php line 3 - main()
> [<a
> href='function.require'>function.require</a>]: Failed opening required
> '/config.php' (include_path='.;c:\php5\pear')

config.php is not in the same directory as your script, nor in the PEAR
library. It is, probably, in Inpae\lib\ and you need to change your
include_path setting in .htaccess or in the script or somewhere to have
that directory in your include path.

--
Like Music?
http://l-i-e.com/artists.htm

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация