Не зря я всех заставляю подробно описывать задачу.
Во-первых, я не знаю как работает GreyBox.
Во-вторых, вы не ответили на мой первый вопрос.
Если бы вы ответили на мой вопрос "нет", то мой ответ был бы неприменим к вашей ситуации.
Похоже, что GreyBox подгружает вашу страницу (cabinet.php) в iframe, а это равнозначно открытию этой страницы напрямую. Поэтому оба эти способа работать не будут.
Чтобы страница загружалась в iframe только из вашего окна (из вашей родительской страницы), можно на этой странице сделать javascript-проверку на совпадение с url вашего родительского окна. Если url отличается от вашего, либо родительского окна вообще нет (т.е. страница была открыта напрямую), тогда делать редирект на вашу родительскую страницу с GreyBox. Обратиться к адресу родительского окна из дочернего можно через свойство parent.location.href.
(Добавление)
Собственно средствами PHP ваш вопрос не решается, так что могу перенести вашу тему в раздел посвященный javascript, если хотите.
|