Re: [PHP] Re: suppressing errors with @

2002-07-09 Thread Richard Lynch

I use it in front of variables (never tried it on $GLOBALS, etc though)

eg: (using register_globals = on  thingo  - hey don't blame me, it's the
tech guys who have it on, and there's too much legacy code to turn it off :(
- anyway)

?
  if ($var) { echo Yep, var is there; } else { echo nope; }
?

The risk is in hackers using an un-initialized $var to pass in their own
data.

If you've *correctly* programmed and caught *every* single case where that
might happen, by using isset() or even something like the above, only doing
something more useful, you're almost-for-sure okay.

register_globals off just annoys me since I *always* initialize variables,
and there's no point to me re-writing the tons of scripts for it, but that's
life.

That said, the sheer number of non-programmers writing PHP made
register_globals on a Bad Idea (tm) really...

I guess even some good programmers could occasionally miss a variable
initialization, though I never do :-)

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


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




RE: [PHP] Re: suppressing errors with @

2002-07-07 Thread Martin Towell

I use it in front of variables (never tried it on $GLOBALS, etc though)

eg: (using register_globals = on  thingo  - hey don't blame me, it's the
tech guys who have it on, and there's too much legacy code to turn it off :(
- anyway)

?
  if (@$var) { echo Yep, var is there; } else { echo nope; }
?


-Original Message-
From: Scott Fletcher [mailto:[EMAIL PROTECTED]]
Sent: Saturday, July 06, 2002 7:32 AM
To: [EMAIL PROTECTED]
Subject: [PHP] Re: suppressing errors with @


No, it's not a PHP bug.  The @ can not be used before a PHP variables, or
PHP pre-defined variables like $GLOBALS, $_SESSION, $_GET, $HTTP_POST_VARS,
etc.  The @ is used only before the PHP function as far as I know of.

FletchSOD
Uri Even-Chen [EMAIL PROTECTED] wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
 Hi,

 I tried to suppress warnings in isset expressions (Uninitialized string
 offset warnings).  The original line was something like this:

 if (!(isset($GLOBALS['SPEEDY_GLOBAL_VARS']['PAGE_NAME'])))

 When I added the @ sign like this:

 if (!(isset(@$GLOBALS['SPEEDY_GLOBAL_VARS']['PAGE_NAME'])))

 My program stopped working, and I got errors like:

 PHP Parse error:  parse error, expecting `T_VARIABLE' or `'$'' 

 Eventually, I put the @ in this place:

 if (!(@isset($GLOBALS['SPEEDY_GLOBAL_VARS']['PAGE_NAME'])))

 Which works, but why didn't it work the other way?  Is it some kind of
 PHP bug?

 I'm using PHP Version 4.1.2

 Thanks,
 Uri.
 



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

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