Forum Webscript.Ru
Программирование => PHP => Тема начата: Yourock от 12 Октября 2005, 21:57:16
-
Допустим, мы находимся по адресу http://site.ru/myfolder/mypage.php?func=files
Как получить ПОЛНЫЙ текущий URL вместе с запросом?
$PHP_SELF выдает только "/myfolder/mypage.php".
Пробовал через [COLOR=DARK-BLUE]$_SERVER[REQUEST_URI][/COLOR]... Выдает нормально, но...
не работает, когда в .htaccess пишу RewriteRule ^/$ ?func=$1 - выдает "/myfolder/mypage.php/files"
Как получить "/myfolder/mypage.php?func=files"?
Из этой строчки будут выдергиваться критерии запроса к базе данных... (это типа оправдание...)
-
если ты пишешь реврайт руль, с передачей запроса через переменную func, то почему после этого пытаешься искать свой запрос где-то ещё?
Но если пытаешься, то почему не ищешь?
Тебе что - нужна помощь форума, чтобы просмотреть содержимое СВОЕГО массива $_SERVER ?
-
Да нет, черт возьми... Мне всего лишь нужна строчка с запросом...
Хотя помощь все-таки поступила. Спасибо. Будем теперь $_сервер разбирать....
Кстати, как спеца спрашиваю, можно ли "гулять" по инклуженным файлам, кардинально не меняя строку адреса?
Например, есть index.php?id=5, где инклудится, скажем, newfile.php, внутри которого идет запрос типа ?func=action... Можно ли сделать так, чтобы в строке появлялось нечто типа index.php?id=5&func=action?
Весь сырбор, собственно, из-за этой задачи. Поэтому и запрос пытаюсь разобрать.... Можешь, что-нить разумного по этому делу сказать? Как к авторитету, к твоим репликам прислушиваюсь :)
-
внутри которого идет запрос типа ?func=action...
Это как? Откуда идет?
-
Yourock
так и реврайт у тебя для этих целей, что ли?
-
Да нет... Реврайт для красоты...
Так можно сделать или нет?
-
ответь на вопрос hanslinger
а пока это твоё
Yourock:
newfile.php, внутри которого идет запрос типа ?func=action...
не имеет никакого смысла
-
Отвечаю на все ваши вопросы...
Вот так (слишком примитивно... зато, думаю, будет понятно):
# index.php
if($_GET[id]==5){
include("inc.php");
} else {
echo "Ссылка на инклуд";
}
?>
# inc.php
$ssylka = "$_SERVER[PHP_SELF]?id=(int)$id";
if($_GET[func]=="link")
{echo "Нажми здесь для появления текста";}
elseif($_GET[func]=="show")
{echo "Текст";}
else {
if($_SERVER[REQUEST_METHOD]=="POST")
{echo $_POST[h];}
else {
echo "Проверка GET
";
}
}
?>
Народ, какие баги предвидятся при таком раскладе?
P.S. Как бы теперь эту лажу к реврайту приучить...
-
ничего не понял
-
RomikChef:
ничего не понял
Что именно из ничего? Запусти файлы и посмотри на адрес, блин...
-
вообще ничего.
запускать всякий мусор я не собираюсь.
и смотреть там не на что.
если у тебя мод реврайт "для красоты", то почему речь вообще идёт о каких-то ?id=5&func=action?
-
попробуй
$path="http://www.".$SERVER_NAME.$PHP_SELF
полный путь тебе
-
kiruxa:
попробуй
$path="http://www.".$SERVER_NAME.$PHP_SELF
полный путь тебе
Спасибо, решение уже найдено. См. выше: $ssylka = "$_SERVER[PHP_SELF]?id=(int)$id";
Мне же часть запроса была нужна, а PHP_SELF этого не дает...
Тему можно закрывать...