|
Posted by Tom Chubb on 07/31/05 18:06
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@iamjochem.com> 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@doggydoo.net> 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@ps-promo.co.uk
07915 053312
Navigation:
[Reply to this message]
|