ActaNonVerba1 Posted February 12, 2011 Share Posted February 12, 2011 if ($TypeOfPage == 'englandtrinityhouse' || 'welshtrinityhouse' || 'channelislandstrinityhouse'){ $Op = '<input type="text" name="Operator" value="Trinity House" class="Operator">'; } else { if ($TypeOfPage == 'northernlighthouseboard'){ $Op = '<input type="text" name="Operator" value="Northern Lighthouse Board" class="Operator">'; } else { $Op = '<input type="text" name="Operator" class="Operator">'; } } This code always echos the first option when echo'd. Ive checked the var is different each time, eg 'northernlighthouseboard' or 'private'. Anyone care to explain?! danny Quote Link to comment https://forums.phpfreaks.com/topic/227473-why-does-this-always-echo-the-same-thing/ Share on other sites More sharing options...
Pikachu2000 Posted February 12, 2011 Share Posted February 12, 2011 You can't just string together the || 'or' conditions like that. Each must be valid on its own. if ($TypeOfPage == 'englandtrinityhouse' || $TypeOfPage == 'welshtrinityhouse' || $TypeOfPage == 'channelislandstrinityhouse'){ Quote Link to comment https://forums.phpfreaks.com/topic/227473-why-does-this-always-echo-the-same-thing/#findComment-1173328 Share on other sites More sharing options...
litebearer Posted February 12, 2011 Share Posted February 12, 2011 From a different perspective: /* just in the event case is ALSO an issue */ $TypeOfPage = trim(strtolower($typeOfPage)); /* create an array of values */ $array_one = array("englandtrinityhouse", "welshtrinityhouse", "channelislandstrinityhouse"); $Op = '<input type="text" name="Operator" class="Operator">'; if(in_array($TypeOfPage, $array_one)) {$Op = '<input type="text" name="Operator" value="Trinity House" class="Operator">';} if($TypeOfPage == 'northernlighthouseboard'){ $Op = '<input type="text" name="Operator" value="Northern Lighthouse Board" class="Operator">';} Quote Link to comment https://forums.phpfreaks.com/topic/227473-why-does-this-always-echo-the-same-thing/#findComment-1173332 Share on other sites More sharing options...
ActaNonVerba1 Posted February 13, 2011 Author Share Posted February 13, 2011 You can't just string together the || 'or' conditions like that. Each must be valid on its own. if ($TypeOfPage == 'englandtrinityhouse' || $TypeOfPage == 'welshtrinityhouse' || $TypeOfPage == 'channelislandstrinityhouse'){ Thanks To the above, i would use your method but im not 100% confident with arrays yet so do not fully understand it Quote Link to comment https://forums.phpfreaks.com/topic/227473-why-does-this-always-echo-the-same-thing/#findComment-1173563 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.