2010-03-23 2 views
0

Помогите мне, пожалуйста, получить значение адресной строки браузера без переданных параметров. Без использования регулярных выражений и строковых функций. Вы можете сделать это? (Я использую php для apache).Получить адресную строку без параметров

введите

http://dev.mazda-parts.ru/catalogue/?spattern=1 

выхода

http://dev.mazda-parts.ru/catalogue/ 

ответ

1

parse_url() может помочь вам, или некоторые из php string functions, как strtok()

+0

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

2

Возьмите взгляд на $_SERVER суперглобал.

<?php 
//example 
echo $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URL']; 
+0

Какая переменная это может быть? –

+0

Я плохо объяснил проблему. Мне нужен адрес страницы, которая была переходом (последняя страница). Не текущая страница. – Kalinin

0

Вы говорите, что вы хотите URL последней страницы, которую можно найти в переменной $_SERVER['HTTP_REFERER'].

Остерегайтесь того, что это значение не является надежным, так как оно может быть свободно изменено клиентом.

Если вы хотите получить более точный способ поиска последней страницы, вы можете использовать сеансы. Вот пример:

session_start(); 
$last_page = $_SESSION['pageurl']; 
$_SESSION['pageurl'] = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URL']; 

// $last_page now contains a more reliable value for the last url 
+0

использование сессий для такой цели смешно –

+0

Да. это слишком круто для этой маленькой задачи. – Kalinin

+0

@Col. Шрапнель: Заметьте, я сказал: «Если вы хотите более точно ...» Я никогда не говорил «определенно делаю это» –