Connecting Tech Pros Worldwide Forums | Help | Site Map

Is it ok to use error_reporting(0) to get rid of error msg?

varois83
Guest
 
Posts: n/a
#1: Jul 17 '05
Hi

I am in the process of creating a guestbook for my site, I am a newbie
and used several tutorials and customized them to what I need using the
little knowledge I got.
I get the following error in my code:

Notice: Undefined variable: stars in c:\program
files\easyphp1-7\www\guestbook\add.php on line 60

Which I got to disappear with this locally in my code (PHP.ini still
set to 2047):

<?PHP
error_reporting(0);
?>

Is it ok to do that? Or is it a cheap quick fix? I want to learn PHP
the right way.

Thanks a bunch

Patrick


steve
Guest
 
Posts: n/a
#2: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


"varois83" wrote:[color=blue]
> Hi
>
> I am in the process of creating a guestbook for my site, I am a[/color]
newbie[color=blue]
> and used several tutorials and customized them to what I need using
> the
> little knowledge I got.
> I get the following error in my code:
>
> Notice: Undefined variable: stars in c:\program
> files\easyphp1-7\www\guestbook\add.php on line 60
>
> Which I got to disappear with this locally in my code (PHP.ini[/color]
still[color=blue]
> set to 2047):
>
> <?PHP
> error_reporting(0);
> ?>
>
> Is it ok to do that? Or is it a cheap quick fix? I want to learn[/color]
PHP[color=blue]
> the right way.
>
> Thanks a bunch
>
> Patrick[/color]

Patrick, it is recommended that you keep as much error reporting as
possible, to make sure you have sufficiently debugged your code.

As far as undefined variables, it is always better to define them.
But I have found that I can work with undefined variables as well as
long as I am totally consistent about it. So it is the programmers
choice IMHO.

there are some great discussions in the comments section of
http://ca.php.net/manual/en/function...-reporting.php well worth
reading.

--
Posted using the http://www.dbforumz.com interface, at author's request
Articles individually checked for conformance to usenet standards
Topic URL: http://www.dbforumz.com/PHP-error_re...ict189490.html
Visit Topic URL to contact author (reg. req'd). Report abuse: http://www.dbforumz.com/eform.php?p=640399
Geoff Berrow
Guest
 
Posts: n/a
#3: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


I noticed that Message-ID: <41ef3143$1_4@alt.athenanews.com> from steve
contained the following:
[color=blue]
>Posted using the http://www.dbforumz.com interface, at author's request
>Articles individually checked for conformance to usenet standards[/color]

OBTopic: Putting a space before the quoting character is not showing
conformance.

--
Geoff Berrow (put thecat out to email)
It's only Usenet, no one dies.
My opinions, not the committee's, mine.
Simple RFDs http://www.ckdog.co.uk/rfdmaker/
Michael Fesser
Guest
 
Posts: n/a
#4: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


.oO(varois83)
[color=blue]
>I get the following error in my code:
>
>Notice: Undefined variable: stars in c:\program
>files\easyphp1-7\www\guestbook\add.php on line 60
>
>Which I got to disappear with this locally in my code (PHP.ini still
>set to 2047):
>
><?PHP
>error_reporting(0);
>?>
>
>Is it ok to do that?[/color]

No.
[color=blue]
>Or is it a cheap quick fix? I want to learn PHP
>the right way.[/color]

Set error_reporting to E_ALL in the php.ini on your development box and
fix the things PHP complains about. Even if it's just a notice -- it's
bad code and might lead to bugs which are hard to find. For example if
you write $fooBar one time and $foobar another: it's just a little typo,
but a real error because variables are case-sensitive. With E_ALL PHP
will show you a notice.

Some other things:

* Before using a variable for a read-access make sure it is set,
initialize it with an empty value if neccessary:

$aString = '';
$anInt = 0;
$anArray = array();

* Before using user-submitted variables like GET parameters always check
if they exists at all with isset():

if (isset($_GET['foo'])) ...

Micha
varois83
Guest
 
Posts: n/a
#5: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


[color=blue]
> Patrick, it is recommended that you keep as much error reporting as
> possible, to make sure you have sufficiently debugged your code.
>
> As far as undefined variables, it is always better to define them.[/color]

Hi

Thanks for the help. Could you tell me how to define a variable in PHP?
Thanks a lot

Patrick

steve
Guest
 
Posts: n/a
#6: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


"user2424" wrote:[color=blue]
> I noticed that Message-ID: <41ef3143[/color]
_4@alt.athenanews.com>[color=blue]
> from steve
> contained the following:
>[color=green]
> >Posted using the http://www.dbforumz.com interface, at[/color]
> author’s request[color=green]
> >Articles individually checked for conformance to usenet standards[/color]
>
> OBTopic: Putting a space before the quoting character is not[/color]
showing[color=blue]
> conformance.
>[/color]

Thanks, Geoff. Can you provide a reference on this.
steve
Guest
 
Posts: n/a
#7: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


"varois83" wrote:[color=blue][color=green]
> > Patrick, it is recommended that you keep as much error[/color]
> reporting as[color=green]
> > possible, to make sure you have sufficiently debugged your[/color]
> code.[color=green]
> >
> > As far as undefined variables, it is always better to define[/color]
> them.
>
> Hi
>
> Thanks for the help. Could you tell me how to define a
> variable in PHP?
> Thanks a lot
>
> Patrick[/color]

The point is you can say

if ($a ==1) $b = 2;

here, $b is defined only if the condition is met. If then later on,
you call on $b (and the condition was not met) then you get a
"undefined" warning from php. So defensive programming would call
for:

if ($a ==1) {
$b = 2;
}
else {
$b = ’’;
}

There are also shorthand ways of doing that. There is obviously more
code to write, but the result would be more solid.

On the other hand, you can just accept undefined as a value, and turn
the warning reporting off. But the first way is recommended.

--
Posted using the http://www.dbforumz.com interface, at author's request
Articles individually checked for conformance to usenet standards
Topic URL: http://www.dbforumz.com/PHP-error_re...ict189490.html
Visit Topic URL to contact author (reg. req'd). Report abuse: http://www.dbforumz.com/eform.php?p=641236
Andy Hassall
Guest
 
Posts: n/a
#8: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


On 20 Jan 2005 13:44:11 -0500, steve <UseLinkToEmail@dbForumz.com> wrote:
[color=blue]
>"user2424" wrote:[color=green]
> > I noticed that Message-ID: <41ef3143[/color]
>_4@alt.athenanews.com>[color=green]
> > from steve
> > contained the following:
> >[color=darkred]
> > >Posted using the http://www.dbforumz.com interface, at[/color]
> > author’s request[color=darkred]
> > >Articles individually checked for conformance to usenet standards[/color]
> >
> > OBTopic: Putting a space before the quoting character is not[/color]
>showing[color=green]
> > conformance.
> >[/color]
>
>Thanks, Geoff. Can you provide a reference on this.[/color]

There's this draft:

http://www.karlsruhe.org/rfc/draft-i...-useage-00.txt
"
3.2.2.1. Quoting and Attributions

[...]

When a followup agent incorporates the "precursor" as a quotation, it
MUST be distinguished from the surrounding text in some way, and
SHOULD be so dintinguished by prefacing each line of the quoted text
(even if it is empty) with the character ">" (or perhaps with "> " in
the case of a previously unquoted line). This will result in multiple
levels of ">" when quoted content itself contains quoted content, and
it will also facilitate the automatic analysis of articles.
"

Although as the document notes, "It is inappropriate to use Internet-Drafts as
reference material". I don't know off the top of my head any official document
that defines quoting prefixes. ">", no leading space, is certainly the de facto
standard.

--
Andy Hassall / <andy@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
steve
Guest
 
Posts: n/a
#9: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


"Andy Hassall" wrote:[color=blue]
> On 20 Jan 2005 13:44:11 -0500, steve
> <UseLinkToEmail@dbForumz.com> wrote:
>[color=green]
> >"user2424" wrote:[/color]
> &nbsp;> > I noticed that Message-ID: &lt;41ef3143[color=green]
> >_4@alt.athenanews.com&gt;[/color]
> &nbsp;> > from steve
> &nbsp;> > contained the following:
> &nbsp;> >
> &nbsp;&nbsp;> > >Posted using the http://www.dbforumz.com
> interface, at
> &nbsp;> > author’s request
> &nbsp;&nbsp;> > >Articles individually checked for conformance
> to usenet standards
> &nbsp;> >
> &nbsp;> > OBTopic: Putting a space before the quoting
> character is not[color=green]
> >showing[/color]
> &nbsp;> > conformance.
> &nbsp;> >[color=green]
> >
> >Thanks, Geoff. Can you provide a reference on this.[/color]
>
> There's this draft:
>
> http://www.karlsruhe.org/rfc/draft-i...-useage-00.txt
> "
> 3.2.2.1. Quoting and Attributions
>
> [...]
>
> When a followup agent incorporates the "precursor" as a
> quotation, it
> MUST be distinguished from the surrounding text in some
> way, and
> SHOULD be so dintinguished by prefacing each line of the
> quoted text
> (even if it is empty) with the character "&gt;" (or perhaps
> with "&gt; " in
> the case of a previously unquoted line). This will result
> in multiple
> levels of "&gt;" when quoted content itself contains quoted
> content, and
> it will also facilitate the automatic analysis of articles.
> "
>
> Although as the document notes, "It is inappropriate to use
> Internet-Drafts as
> reference material". I don't know off the top of my head any
> official document
> that defines quoting prefixes. ">", no leading space, is
> certainly the de facto
> standard.
>
> --
> Andy Hassall / <andy@andyh.co.uk> / <http://www.andyh.co.uk>
> <http://www.andyhsoftware.co.uk/space> Space: disk usage
> analysis tool[/color]

Thanks, Andy and Geoff. I guess using multiple forward slashes to
indent quotes, and then also using spaces to tab is redundant.
Geoff Berrow
Guest
 
Posts: n/a
#10: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


I noticed that Message-ID: <o230v0137ed9mhh67m2qlqtuetmdg8ih41@4ax.com>
from Andy Hassall contained the following:
[color=blue]
> Although as the document notes, "It is inappropriate to use Internet-Drafts as
>reference material". I don't know off the top of my head any official document
>that defines quoting prefixes. ">", no leading space, is certainly the de facto
>standard.[/color]

Agreed.

--
Geoff Berrow (put thecat out to email)
It's only Usenet, no one dies.
My opinions, not the committee's, mine.
Simple RFDs http://www.ckdog.co.uk/rfdmaker/
Chung Leong
Guest
 
Posts: n/a
#11: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


"steve" <UseLinkToEmail@dbForumz.com> wrote in message
news:41ef3143$1_4@alt.athenanews.com...[color=blue]
> Patrick, it is recommended that you keep as much error reporting as
> possible, to make sure you have sufficiently debugged your code.[/color]

I wouldn't go so far as to imply that keeping error_reporting high can
somehow improve the quality of your code. It doesn't. A PHP script that
doesn't print out error messages is like a C program that successfully
compiles. The computer might not see any problem, but the computer is also
stupid as hell. It has absolutely no clue how your program is supposed to
work. To its assertion that a piece of code is error-free I wouldn't attach
any value.

Error_reporting is a tool for fixing bugs, that's all. Most of the time it's
useful. If you decide not to use it, that's fine too.


varois83
Guest
 
Posts: n/a
#12: Jul 17 '05

re: Is it ok to use error_reporting(0) to get rid of error msg?


[color=blue]
>
> The point is you can say
>
> if ($a ==1) $b = 2;
>
> here, $b is defined only if the condition is met. If then later on,
> you call on $b (and the condition was not met) then you get a
> "undefined" warning from php. So defensive programming would call
> for:
>
> if ($a ==1) {
> $b = 2;
> }
> else {
> $b = '';
> }[/color]

Hi Steve and everybody who was kind to answer.

Thanks to your example Steve I got it now. I am a newbie and some
concepts are sometimes hard to grasp at first.
I haven't fixed my code but I know where the error comes from now.
I have a portion of my guestbook code used for language filter.
When the code processes a bad word it doesn't send the error message as
the variable in charge of replacing the bad word with **** has a value,
but when it compares a good word, a portion of the code isn't processed
so now the variable in charge of assigning the **** which replace the
bad word has no value so the error pops up.
Thanks a bunch to everybody

Patrick

Closed Thread