PHP Где ошибка в коде?
Мне кажется не очень хорошая идея решать такую задачу на PHP, на JS было бы уместнее...
Окно появляется когда пользователь долго не был активен, а после зашевелился?
Используй запись в куки или бд.
А вот экзотический вариант прописать нужное время жизни сессии, и каждый раз выводить сообщение если сессия ранее не создавалась. Соответственно если пользователь был не активен сессию удалиться.
Так записывать только ip не верно, он может быть один и тот же у многих пользователей