|
Posted by David Haynes on 12/18/20 11:51
Jerry Stuckle wrote:
> David Haynes wrote:
>> Marcin Dobrucki wrote:
>>
>>> David Haynes wrote:
>>>
>>>> Ørjan Langbakk wrote:
>>>
>>>
>>>>> See, I have, first, a check for existing email - if there is no
>>>>> email present, I want it to check if there is a phonenumber
>>>>> entered, and if _both_ those conditions are false, then I want to
>>>>> redirect.
>>>>>
>>>>> I do not wish to redirect after the first false, but after the second.
>>>>>
>>>>> Have I misunderstood something, or?
>>>>>
>>>> Isn't this just:
>>>>
>>>> if( ! email && ! phone ) redirect;
>>>> if( email ) do_email
>>>> else do_phone
>>>
>>>
>>> if (!email || !phone) redirect;
>>> // if you are here, all is ok.
>>>
>>> Redirect will happen only of both conditions fail. Ofcourse, it
>>> does have a side-effect that if email is valid, phone will never be
>>> checked because the condition for "if" will already satisfy.
>>>
>>> Ofcourse, it doesn't hurt to have a small "isset" test on the whole
>>> thing, especially when we were talking about $_POST. If someone
>>> accesses the page via GET, condition would fail, and under some
>>> circumstances, just fall through.
>>
>>
>> I don't see how 'if (!email || !phone) redirect;'
>> handles this case:
>>
>> "if there is no email present, I want it to check if there is a
>> phonenumber entered, and if _both_ those conditions are false,
>> then I want to redirect."
>>
>> The || would say that you will redirect if *either* email or phone is
>> not set.
>>
>> With my code, if both are not set, then the redirect occurs.
>> If you continue past the if() then you know either email or phone (or
>> both) is set.
>> So you just take the action based upon that knowledge with a
>> precedence given to the email.
>>
>> -david-
>>
>
> David,
>
> If you want to redirect if both are invalid, just do:
>
> if(!email && !phone)...
>
>
Jerry:
That's what I said... ;-)
-david-
Navigation:
[Reply to this message]
|