Форум сетевых администраторов Страницы (3): [1] 2 3 »
Показаны 39 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Как в пхп от вопросов и равно избавится.. (http://netadmin.ws/forum/showthread.php?threadid=1190)


Помещено }:^( 03-05-2002 в 12:58:

Как в пхп от вопросов и равно избавится..

тут вот на одном форуме мне сказали что можно ссылки не такого вида иметь index.php?page=news а такого index.php/news

и написали следующее..
http://host/script.php/param1/param2/param3

только расширение появится.

А так - тоже парсишь $PATH_INFO - и вперёд...

помогите как такое сделать если возможно...
прошу очень..


Помещено polo 03-05-2002 в 14:16:

используешь $REQUEST_URI который будет содержать script.php/param1/param2/param3 и при помощи регулярных выражений добераешся до нужных параметров, присваиваешь их переменным. Только вот удобным такой метод не назовешь, да и на быстродействие будет влиять, ладно если параметр один ну два максимум, а если их целая куча, например переход на другую страницу с параметрами сортировки, это же надо будет каждую ссылку перезаписывать а потом обрабатывать, не логично. Единственный случай когда можно будет использовать это для записи сида сессисии, да и то я бы не стал.

__________________
Всегда есть решение.


Помещено ExcErr 03-05-2002 в 18:12:

polo
Т.е. ты хочешь сказать, что все потом обрабатывается при помощи регулярок? Млин, да это же время будет занимать ужас скока...
И второй вопрос, ну понятное дело парам (в данном случае как я понимаю это значение ключа) пошел, а сам ключ то где?

__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg


Помещено polo 03-05-2002 в 20:17:

так и говорю, в ручную задавать надо, не стоит вообще с этим связываться.

__________________
Всегда есть решение.


Помещено RaZEr 03-05-2002 в 22:06:

mod_rewrite господа

__________________
The time was broken ...


Помещено polo 03-05-2002 в 22:14:

quote:
mod_rewrite господа

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

__________________
Всегда есть решение.


Помещено }:^( 04-05-2002 в 05:39:

Люди помогите..
может кусочек кода для примера дадите что и как там, а то не сильно секу этом..пожалуйста...

а мод_рирайт не подойдет...сомневаюсь что хостер его даст, а уж фришный тем более...


Помещено polo 04-05-2002 в 15:42:

Скажи конкретно как ты это хочешь применить и в каком случае, может и не стоит.

__________________
Всегда есть решение.


Помещено }:^( 04-05-2002 в 20:48:

ok..
вобщем есть у меня шаблон index.php а в его середину посредством include($page.(".htm") нклудятся страницы типа news.htm links.htm
и урлы получаются вида index.php?page=news
вот и хотелось бы избавится от ненужностей этих..
помогите если можете ..сенкс..


Помещено polo 04-05-2002 в 20:54:

так у тебя параметр всего один?

__________________
Всегда есть решение.


Помещено }:^( 04-05-2002 в 20:59:

ну получается что да..а мне больше пока и не надо вроде..
не знаю что еще туда запихнуть(в параметр)..не сильно с этим знаком....но про слеши все же хотелось бы услышать..


Помещено polo 04-05-2002 в 21:11:

во первых удостоверься что у тебя на серваке работает этот формат
url.com/index.php/param теоретически это должно работать и не должно возникнуть никаких проблем, но у меня на локалке к примеру вылетает 500 error. И еще могут возникнуть проблемы с изображениями, ссылками на странице если указан относительный путь.

__________________
Всегда есть решение.


Помещено }:^( 04-05-2002 в 21:20:

ну с сылками разберусь если что..
а как проверить этот самый формат..
просто набрать host.ru/index.php/param и все ..а что вместо парам..??


Помещено polo 04-05-2002 в 21:34:

параметр который ты хочешь передать например news или что тебе там надо, всмысле все что после = а потом присваиваешь этот параметр нужной переменной, я уже говорил что $REQUEST_URI будет содержать все что нахлдиться после домена /index.php/news в данном случае, для того чтобы добраться до news к примеру можно использовать
ereg("/([a-z])", $REQUEST_URI , $matches);
$action = $matches[1]; // будет содержать то что нужно
можно еще болею продвинутую формуиспользовать, например так:
url/news/index.php
но в данном случае без mod_rewrite не обойтись, используеться так:
RewriteEngineOn
RewriteBase /
RewriteRule ^[a-z]/(.+) /$1
Ð_то к первому случаю тоже можно применить соответственно изменив RewriteRule.

__________________
Всегда есть решение.


Помещено }:^( 04-05-2002 в 21:45:

а кусочка кода нету..жаль...
может скажете, а куда это вставлять(ereg("/([a-z])", $REQUEST_URI , $matches);
$action = $matches[1]
относительно того как у меня (include($page.(".htm"))
а то запутаюсь совсем..


Формат времени GMT. Текущее время 11:00. Страницы (3): [1] 2 3 »
Показаны 39 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.