Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Дизайн, HTML, CSS, JavaScript »   Передача URL с параметрами через GET-запрос
RSS

Передача URL с параметрами через GET-запрос

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Как передать в качестве параметра GET-запрос, который содержит URL, который также содержт GET-параметры. Т.е., например,
http://somesite.com/go.php?url=http://openproj.ru/index.php?m=stdforum&f=4&a=std_newtopic
Пока единственная идея, которая мне приходит в голову - это вручную обрабатывать $_SERVER['QUERY_STRING'] с помощью регулярных выражений.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
avm
Новичок


Всего сообщений: 12
Рейтинг пользователя: 1





Дата регистрации на форуме:
20 нояб. 2005

XXXX Pro написал:
[q]
обрабатывать $_SERVER['QUERY_STRING']
[/q]
или в url заменять символы "&" и "?" например на ":amp:" и ":que:" соответственно (некие последовательности, которые с достаточной вероятностью не могут встретиться в url), а позднее их преобразовывать обратно...


---
Алексей Мусиенко - specialist.ru
wsx
Участник Проекта
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
avm с помощью регулярных выражений ИМХО правильнее. Ибо со всякими ":amp:" - нагрузка будет больше на веб-сервер, если я тебя корректно понял. Хоть нагрузка будет и не значительной, но всё же. А регулярными выражениями нагрузка на PHP - ИМХо это правильнее..
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
avm Ну, пожалуй, удачное решение.
wsx Вообще, замену можно вести не regexpом, а strreplace, от которой нагрузка не такая уж большая. А во вторых я не понял насчет разницы между нагрузкой на Web-сервер и нагрузкой на PHP? И то и другое все равно на одном процессоре выполняется, какая разница, кто из них берет больше времени (тем более если PHP подключен в виде модуля, как это часто делают, то там и в том и в другом случае все выполяется в пределах процесса Web-сервера).

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
wsx
Участник Проекта
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
Дело в том, что нагрузки по определению больше на Веб-Сервер. Следовательно следует равномерно распределять, по возможности.
avm
Новичок


Всего сообщений: 12
Рейтинг пользователя: 1





Дата регистрации на форуме:
20 нояб. 2005
wsx, о какой нагрузке речь?

то что я предложил:
$url = str_replace( ':amp:', '&', str_replace( ':que:', '?', str_replace( ':eq:', '=', $_GET['url'] ) ) );

какая тут нагрузка на сервер? 3 str_replace ? не смешите...

---
Алексей Мусиенко - specialist.ru
wsx
Участник Проекта
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
Ну значит я вас не понял! Чтож, приношу извинения и советую в следующий раз выродаться яснее!
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
avm, ну вообще идея не нова и в голову мне приходила.. ведь всегда можно что то переобозначить :) но я думал есть более красивый вариант, решаемый штатными средствами PHP...
avm
Новичок


Всего сообщений: 12
Рейтинг пользователя: 1





Дата регистрации на форуме:
20 нояб. 2005
Gram есть. Например завернуть сначала URL в base64, а потом развернуть его оттуда. И заодно юзер в броузере его не прочитает...

---
Алексей Мусиенко - specialist.ru
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001

avm написал:
[q]
И заодно юзер в броузере его не прочитает...
[/q]

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

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003

XXXX Pro написал:
[q]
Если смотреть с точки зрения обычного пользователя, а не разработчика
[/q]

Я тоже так считаю. Я хотел сделать так, чтобы url никак не искажался при просмотре ссылки...
avm
Новичок


Всего сообщений: 12
Рейтинг пользователя: 1





Дата регистрации на форуме:
20 нояб. 2005
Так, задача постепенно видоизменяется ;)
Нужно:
1. Передать в качестве значения переменной GET весь URL со всеми его частями QUERY_STRING, при этом его переменные не должны быть применены к нам самим!!!.
2. Пользователь должен видеть всю строку передаваемого URL (или достаточно только его proto://hostname ?)
3. Нужно сделать так, чтобы это было реализовано минимальным количеством действий для того чтобы не создавать нагрузку на сервер.
4. Нужно это реализовать имеющимися в php функциями.

Так?

Ответ: Ну так ведь чудес-то не бывает.... :biggrin
значит пользуем простые "rawurlencode" "rawurldecode" на этот URL целиком, при этом "?" и "&" заменятся на из UTF8 коды...

---
Алексей Мусиенко - specialist.ru
<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Дизайн, HTML, CSS, JavaScript »   Передача URL с параметрами через GET-запрос
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0768. Количество выполненных запросов: 18, время выполнения запросов 0.0311