Помогите с SERVER['REQUEST_URI']

Статус
В этой теме нельзя размещать новые ответы.

Smile

Старатель
Регистрация
12 Ноя 2006
Сообщения
157
Реакции
11
Привет всем, кто знает помогите... есть фунция

Код:
if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/index.php")
{...}
к ней нужно добавить

Код:
$_SERVER['REQUEST_URI']=="/?1
$_SERVER['REQUEST_URI']=="/?2
$_SERVER['REQUEST_URI']=="/?3
$_SERVER['REQUEST_URI']=="/?4
$_SERVER['REQUEST_URI']=="/?5"
потом 2,3,4,5,6 итд... можно ли както сделать чтоб не писать для каждой цифры отдельно а для всех сразу... ?
 
в лоб:

PHP:
$sym = array ("1", "2", "3", "/index.php");
$flag = false;
for ($i=0; $i<count ($sym); $i++)
    if ($_SERVER['REQUEST_URI']==$sym($i)) { $flag=true; break};
 
PHP:
if (!in_array($_SERVER['REQUEST_URI'], array(
  "",
  "/",
  "/?id=1",
  "?id=1",
  "id=1",
))) {
  // ...
}

Если же твой вопрос был как не перечислять список 1,2,3,4,5 и т.д., то вот проверка на /?id=число

PHP:
if (!preg_match("#^/\?id=\d+$#",$_SERVER['REQUEST_URI']) {
   // ...
}
 
да, тут надо preg_match использовать, так как количество номеров может неограниченно возрасти
 
Если же твой вопрос был как не перечислять список 1,2,3,4,5 и т.д., то вот проверка на /?id=число

PHP:
if (!preg_match("#^/\?id=\d+$#",$_SERVER['REQUEST_URI'])) {
   // ...
}

идея хороша, то что нужно но как правельно написать чтоб работало...

создал файл для теста ... ссылка в виде site.ru/?id=3

код в файле

if (preg_match("#^/\?id=\d+$#",$_SERVER['REQUEST_URI']))
{
echo "Работает!";
}
else
{
echo "Не работает!";
}

всегда выводит " Не работает " ... хелп
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху