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

Тема в разделе "PHP", создана пользователем Smile, 17 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Smile

    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 итд... можно ли както сделать чтоб не писать для каждой цифры отдельно а для всех сразу... ?
     
  2. Graph33

    Graph33 Создатель

    Регистр.:
    4 авг 2010
    Сообщения:
    33
    Симпатии:
    0
  3. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    в лоб:

    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};
     
  4. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    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']) {
       
    // ...
    }
     
    Smile нравится это.
  5. nigmatulin

    nigmatulin Писатель

    Регистр.:
    30 мар 2008
    Сообщения:
    5
    Симпатии:
    1
    да, тут надо preg_match использовать, так как количество номеров может неограниченно возрасти
     
  6. Smile

    Smile

    Регистр.:
    12 ноя 2006
    Сообщения:
    157
    Симпатии:
    11
    идея хороша, то что нужно но как правельно написать чтоб работало...

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

    код в файле

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

    всегда выводит " Не работает " ... хелп
     
  7. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    Посмотри, что содержится в переменной.
    PHP:
    var_dump($_SERVER['REQUEST_URI']);
    Возможно нам пусто.
     
    Smile нравится это.
  8. Smile

    Smile

    Регистр.:
    12 ноя 2006
    Сообщения:
    157
    Симпатии:
    11
    спасибо, всё работает отлично, файл был в папке отсюда и не работало...
     
Статус темы:
Закрыта.