Получить URL страницы в php - PullRequest
0 голосов
/ 02 мая 2011

Я работаю над всплывающей страницей "Отправить эту страницу по электронной почте".Я хочу отправить URL базовой страницы в виде электронного письма, но это должно быть всплывающее окно.

Я использовал HTTP_REFERER, он отлично работает в Firefox, но не работает в Internet Explorer.

Я получаю URL текущей страницы, но мне нужен этот URL в новом всплывающем окнестр.

Есть ли альтернатива HTTP_REFERER.

Ответы [ 3 ]

2 голосов
/ 02 мая 2011

На странице, с которой вы хотите получить URL, вы можете использовать $_SERVER['REQUEST_URI'], чтобы получить запрошенный URI (кроме схемы и имени хоста; другими словами, вы получите путь и строку запроса). Передайте это на другую страницу, используя строку запроса или сеансы . Первый предпочтительнее, так как последний не является RESTful. Могут быть случаи, когда можно нарушить правило REST по отношению к состоянию на стороне сервера, но, вероятно, это не так.

0 голосов
/ 02 мая 2011

Это происходит потому, что клиентский браузер посылает HTTP_REFERER, что означает, что его значением можно полностью манипулировать или даже null.Это означает, что эта переменная не очень надежна.Но если ваш сайт, есть и другие решения.

Вы можете отправить URL или любую другую идентификацию, например, идентификатор, по QueryStrings.Таким образом, у вас будет URL ссылки, подобный этому the_send_page_name.php?ref=index.php

Имейте в виду, что этот метод работает, только если вы открываете всплывающее окно на своем сайте.

0 голосов
/ 02 мая 2011

Нет способа, если вы не сохраните его или не отправите сами. На этой странице есть один пример того, как это сделать, но только в том случае, если вы установите это заранее.Если сайт ваш, то все будет в порядке.Если нет, то вы будете бороться.

...