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 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'){ 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">';} 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 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
Archived
This topic is now archived and is closed to further replies.