Как уже отмечали другие, вам нужно заключить в скобки несколько условий в скобках:
if (($cond1) && ($cond2)) { ... }
Невыполнение этого требования приведет к фатальной ошибке разбора.
ОДНАКО, если бы это была основная причина проблемы, выполнение страницы остановилось бы на этой строке и отобразило бы либо ошибку PHP в браузере, либо пустую страницу. Оригинальный пост указывает, что это не то, что происходит; вместо этого выводятся оба блока HTML.
Вы просматривали источник в своем браузере, чтобы увидеть, отправлено ли что-либо в браузер? Я наполовину подозреваю, что вы используете короткие открытые теги (учитывая, что вы используете их в блоке кода), и ваша конфигурация PHP настроена на их запрет. Это приведет к тому, что весь блок кода будет отправлен как есть в браузер, что означает, что фатальная ошибка синтаксического анализа никогда не сработает, и браузер обрабатывает блок <? ... ?>
как недопустимый HTML и просто игнорирует его. Это вызывает рендеринг обоих блоков HTML, как описано.
Конечно, если включены короткие открытые теги, я понятия не имею. : -)