Re: Undefined variable [message #181243 is a reply to message #181241] |
Wed, 24 April 2013 09:55 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 4/24/2013 5:24 AM, The Natural Philosopher wrote:
> 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.
>
>
Good programmers care about such things. They indicate problems just
waiting to crop up. That's why PHP throws notices when they occur.
Crap programmers make excuses.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|