Re: Help with a Parse Error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Jochem, useful info.
I've changed that now, but why is there still an Undefined index: id error?
Any ideas?


On 31/07/05, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote:
> Tom Chubb wrote:
> > I have changed it a bit, and don't have the old code now!!!
> > I saw a post which identified a problem using isset when $var = ""; as
> > it returns true, so I changed my code to use...
> >
> 
> the fact that you are using $id suggests you have register_globals on
> - not recommended practice. and mixing using of auto registered globals ($id)
> and the equivelant $_GET index ($_GET['id']) is going to lead to confusion
> somewhere do the line.
> 
> > if ($_GET['id'] != "")
> > {     $article="$id.php";
> >               if (file_exists($article)) { include $article; }
> >               else    { echo "The article you've requested does not exist!"; }
> > }
> > else {
> > echo "No article selected";
> > }
> 
> you hint that the id must always be an integer.... so sanitize your data as such.
> to avoid nasty things happening, try like so:
> 
> if ($cleanID = intval( $_GET['id'] )) {
>        $article = "$cleanID.php";
>        if (file_exists($article)) {
>                include $article;
>        } else {
>                echo "The article you've requested does not exist!";
>        }
> } else {
>        echo "No article selected";
> }
> 
> 
> >
> > This works fine, except that when the url is www.mysite.com/index.php
> > I get the following error...
> >
> > Notice: Undefined index: id in
> > /home/5217/tomchubb/public_html/index.php on line 14
> > No article selected
> >
> > I kmow this will disappear when I turn off error reporting, but how
> > can I suppress it properly?
> >
> >
> > On 31/07/05, Edward Vermillion <evermillion@xxxxxxxxxxxx> wrote:
> >
> >>Tom Chubb wrote:
> >>
> >>>I am trying to create my own news system and to start with I'm using
> >>>static news pages until I get the db working properly.
> >>>I'm using the following code:
> >>>
> >>><?php
> >>>if(!isset($_GET['id']))
> >>>{     $article="$id.php"
> >>>              if (file_exists($article)) { include $article; }
> >>>              else    { echo "The article you've requested does not exist!"; }
> >>>}
> >>>      else { echo "You did not select an article"; }
> >>>?>
> >>>
> >>>I am testing using the following links...
> >>>
> >>>www.myurl.co.uk/index.php
> >>>www.myurl.co.uk/index.php?id=1
> >>>www.myurl.co.uk/index.php?id=2
> >>>
> >>>When I try the first one, I'd expect it to say you did not select an
> >>>article, but it says
> >>>
> >>>
> >>>Notice: Undefined variable: id in
> >>>/home/5217/tomchubb/public_html/index.php on line 15
> >>>The article you've requested does not exist
> >>>
> >>>
> >>>When I try the third link, I would expect it to say  The article
> >>>you've requested does not exist! but it says:
> >>>
> >>>Parse error: parse error in /home/5217/tomchubb/public_html/index.php on line 16
> >>>
> >>>Lines 15 & 16 are:
> >>>if (file_exists($article)) { include $article; }
> >>>else  { echo "The article you've requested does not exist!"; }
> >>>
> >>>I don't understand why this isn't working and I've tried looking into
> >>>this for 2 hours!
> >>>Can anyone tell me where I'm going wrong please?
> >>>
> >>>Thanks,
> >>>
> >>>Tom
> >>
> >>What I notice is that the first error says it's on line 15, then you
> >>give lines 15 and 16 in the second example but line 15 doesn't have "id"
> >>in it. Are you sure your looking at the right lines? Try posting the
> >>whole script and maybe someone can catch the problem.
> >>
> >
> >
> >
> 
> 


-- 
Tom Chubb
tom@xxxxxxxxxxxxxx
07915 053312

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux