Ваше английское описание того, что вы хотите сделать, прекрасно, но когда вы переходите к коду, появляется ошибка перевода.
Вот поведение, которое вы сказали, что хотите:
if REQUEST_URI! = /Index.php?task=join& 'или'
/index.php?task=join&step=1 'или' /index.php?task=join&step=2 >>>
include inc / js / script.php
Когда вы так говорите, становится ясно, что «not» (! In! =) Применяется ко всем URI. Итак, давайте разберемся с этим НЕ и используем скобки, чтобы указать, что это относится ко всему:
если нет (REQUEST_URI = /index.php?task=join& 'или'
/index.php?task=join&step=1 'или' /index.php?task=join&step=2) >>>
include inc / js / script.php
Теперь, чтобы перевести нас с английского языка на почти код, нам просто нужно немного подробнее разобраться:
if ! (REQUEST_URI == /index.php?task=join& or
REQUEST_URI == /index.php?task=join&step=1 or
REQUEST_URI == /index.php?task=join&step=2)
include inc/js/script.php
По сути, это решение, предложенное Джоном Скитом.
В качестве дальнейшего примечания, вот почему ваш код работает, если вы измените || s на && s. По сути, вы заново открыли хорошо известное логическое правило, называемое законом Де Моргана (упоминаемое в комментарии Салмана А.), которое имеет две формы (где «<==>» означает «тогда и только тогда»):
- ! (A || B) <==>! A &&! B
- ! (A && B) <==>! A || ! B
В соответствии с формой 1 закона де Моргана приведенный выше код, таким образом, такой же, как
if (!REQUEST_URI == /index.php?task=join& and
!REQUEST_URI == /index.php?task=join&step=1 and
!REQUEST_URI == /index.php?task=join&step=2)
include inc/js/script.php
, что совпадает с
if (REQUEST_URI != /index.php?task=join& and
REQUEST_URI != /index.php?task=join&step=1 and
REQUEST_URI != /index.php?task=join&step=2)
include inc/js/script.php