Как работает if / else в php?
нет подвоха: 1 or 1 = 1, то есть true.
если нужно строго проверять, то используется and или xor.
давайте заменим OR на "+" , так понятнее стало ?
заменяйте or на ||
UPD:
перечитал вопрос после 9 комментария к своему ответу, после этого только понял сам вопрос )))
Если переменная Fitst равно 1 ИЛИ переменная SECOND = 1, но другая переменная равна 0  то ... действие. 
В вашем случае надо писать if ($f&&!$s||!$f&&$s) (не гарантирую результат, уже сплю ))) , я бы написал так: ($f xor $s) , то есть если значения разные, то что то делаем )))