Re: Undefined variable [message #181241 is a reply to message #181238] |
Wed, 24 April 2013 09:24 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 24/04/13 04:27, Question Boy wrote:
> On Apr 23, 11:08 pm, Richard Yates <rich...@yatesguitar.com> wrote:
>> On Tue, 23 Apr 2013 19:16:54 -0700 (PDT), Question Boy
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> <question....@hotmail.com> wrote:
>>> I have an simple MySQL/PHP app and it appears to be functional but the
>>> webmaster has informed me that it is throwing lots of errors. So he
>>> showed me the log file and I am trying to remedy the issues, but have
>>> a question.
>>> For instance, I have a block of code, such as:
>>> if ($iBookedBy=="Other") {
>>> echo '<option selected value="Other">Other</option>';
>>> } else {
>>> echo '<option value="Other">Other</option>';
>>> }
>>> which the log file reports as:
>>> PHP Notice: Undefined variable: iBookedBy
>>> Now I thought of trying:
>>> if (isset($iBookedBy)==TRUE && $iBookedBy=="Other") {
>>> echo '<option selected value="Other">Other</option>';
>>> } else {
>>> echo '<option value="Other">Other</option>';
>>> }
>>> but am not sure if the server will break because the variable isn't
>>> set or if it will still throw an error because of the second,
>>> original, part of the if statement? Is this a good way to handle the
>>> problem, or am I going about this the wrong way and there is a better
>>> method?
>>> Thank you for your help.
>>> QuestionBoy
>> 1. Yes, it will prevent the error notice.
>>
>> 2. You do not need the ==TRUE. isset($iBookedBy) means the same
>> isset($iBookedBy)==TRUE.
>>
>> 3. Your asking the question suggests that you are trying to write code
>> and run it directly on a production server rather than testing on a
>> local server. The webmaster will be happier, and you will be much more
>> productive, if you set up a local server like WAMP.
>
> Thank you for the reply.
>
> I was always under the impression that it was always beneficial to
> explicitly put ==TRUE to avoid any arbitrary interpretations. I won't
> waste my time anymore.
if you are writing code for others of arbitrary moronicity to debug, its
no bad thing: However the shorthand of if(x) instead of if(x==TRUE) is
so widely used its unlikely anyone else will bat an eyelid.
>
> My test server was not reporting any errors. I will look into which
> setting has to be changed.
you may be suppressing warnings on it.
my server is full of such errors from the first app I wrote in PHP, but
they are dwarfed by errors ffrom apache of hackers trying to find
framework administration files that don't exist, things called
apple-touch-preconfigured blah blah.
> Thank you once again.
--
Ineptocracy
(in-ep-toc’-ra-cy) – a system of government where the least capable to lead are elected by the least capable of producing, and where the members of society least likely to sustain themselves or succeed, are rewarded with goods and services paid for by the confiscated wealth of a diminishing number of producers.
|
|
|