Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.7570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 01.03.2015, 03:51   #1
Behe
Member
 
Регистрация: 29.07.2010
Сообщений: 95
Бабло: $47760
Arrow Помогите с php кодом.

Вот код

if(strtolower($_SERVER['REQUEST_URI'])==='/page/index.html' || strtolower($_SERVER['REQUEST_URI'])==='/page/post1.html' || strtolower($_SERVER['REQUEST_URI'])==='/page/post2.html')
{

print 'aaaa';
};
?>


подскажите как прописать что б не перечислять все ссылки в условии а сделать как то маской что ли, меняется только index, page1, page2

http://www.site.com/page/index.html
http://www.site.com/page/page1.html
http://www.site.com/page/page2.html
....
Behe вне форума  
Старый 01.03.2015, 04:01   #2
sliderxxx
Ебланнед
 
Регистрация: 20.08.2008
Сообщений: 1,069
Бабло: $153400
По умолчанию

Как-то так
PHP код:
if (preg_match('#^/page/(index|page[0-9]*)\.html$#Ui'$_SERVER['REQUEST_URI'])){
print 
'aaaa';

sliderxxx вне форума  
Старый 01.03.2015, 04:03   #3
Behe
Member
 
Регистрация: 29.07.2010
Сообщений: 95
Бабло: $47760
ТС -->
автор темы ТС По умолчанию

неа, я для примера написал index и page , там всегда новое слово будет, неизвестно какое

типа в названии страницы ключевое слово или фраза

вот уточню
страницы вида
http://www.site.com/page/ключевик.html
должны проходить условие а все остальные, включая http://www.site.com/page/page2.html?hl=tr не должны проходить условие

сайт и папка всегда те же http://www.site.com/page/
Behe вне форума  
Старый 01.03.2015, 04:13   #4
Scofield
Yeah Bitch! Magnets!
 
Аватар для Scofield
 
Регистрация: 02.12.2010
Сообщений: 475
Бабло: $75399
По умолчанию

В смысле неизвестно, а что ты тогда хочешь сделать?
__________________
It don't mean a thing, if it ain't got that swing (c) Duke Ellington
Scofield вне форума  
Старый 01.03.2015, 04:21   #5
Behe
Member
 
Регистрация: 29.07.2010
Сообщений: 95
Бабло: $47760
ТС -->
автор темы ТС По умолчанию

известно, там ключевик - слово или фраза , имел в веду что как раз то что неизвестно будет всегда менятся

хочется как то так написать
if (preg_match('/page/*.html', $_SERVER['REQUEST_URI'])){
print 'aaaa';
}
но ведь так не правильно, или сработает?
Behe вне форума  
Старый 01.03.2015, 04:34   #6
Scofield
Yeah Bitch! Magnets!
 
Аватар для Scofield
 
Регистрация: 02.12.2010
Сообщений: 475
Бабло: $75399
По умолчанию

Ничего не понял!
Если нужно, чтобы условие проходил определенный ключевик, то просто вставляй его в регулярку, которую предложил выше sliderxxx. А если проблема заключается в том, чтобы не пропускать uri с параметрами, то тогда тебе нужно переформулировать свое ТЗ.
__________________
It don't mean a thing, if it ain't got that swing (c) Duke Ellington
Scofield вне форума  
Старый 01.03.2015, 04:37   #7
Behe
Member
 
Регистрация: 29.07.2010
Сообщений: 95
Бабло: $47760
ТС -->
автор темы ТС По умолчанию

как мне пускать все страницы что лежат в папке page и имеют расширение .html ?????
Behe вне форума  
Старый 01.03.2015, 04:40   #8
sliderxxx
Ебланнед
 
Регистрация: 20.08.2008
Сообщений: 1,069
Бабло: $153400
По умолчанию

PHP код:
if (preg_match('#^/page/.*\.html$#Ui'$_SERVER['REQUEST_URI'])){ 
print 
'aaaa'

sliderxxx вне форума  
Старый 01.03.2015, 04:42   #9
Joe Perry
Member
 
Регистрация: 19.09.2014
Сообщений: 49
Бабло: $11495
По умолчанию

всеравно ничего непонятно

у тебя есть куча страниц html в папке, так?

Ты хочешь их пускать по признаку наличия параметров типа ?hr=1 ?

Тоесть если без параметров то скрипт срабатывает а если есть параметры то не срабатывает? Так?

Тогда тебе нужно просто брать весь адрес и проверять наличие query через вот эту фунцию
http://php.net/manual/en/function.parse-url.php

Если нет то приведи примеры и распиши что хочешь
Joe Perry вне форума  
Старый 01.03.2015, 04:48   #10
Behe
Member
 
Регистрация: 29.07.2010
Сообщений: 95
Бабло: $47760
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от sliderxxx Посмотреть сообщение
PHP код:
if (preg_match('#^/page/.*\.html$#Ui'$_SERVER['REQUEST_URI'])){ 
print 
'aaaa'

затестил, что то не пашет

Цитата:
Сообщение от Joe Perry Посмотреть сообщение
всеравно ничего непонятно

у тебя есть куча страниц html в папке, так?

Ты хочешь их пускать по признаку наличия параметров типа ?hr=1 ?

Тоесть если без параметров то скрипт срабатывает а если есть параметры то не срабатывает? Так?

Тогда тебе нужно просто брать весь адрес и проверять наличие query через вот эту фунцию
http://php.net/manual/en/function.parse-url.php

Если нет то приведи примеры и распиши что хочешь
все просто: у меня есть куча страниц html в папке , я хочу их пускать по признаку того что они находятся в папке product и имею расширение .html без каких либо параметров, если есть параметры то уже не надо пускать

и если страницы не в папке product то пускать не надо
Behe вне форума  
Закрытая тема



Опции темы
Опции просмотра