За последние 24 часа нас посетили 17580 программистов и 1674 робота. Сейчас ищут 1929 программистов ...

Как присвоить переменной значение последней строки URL ?

Тема в разделе "PHP для новичков", создана пользователем OZ-Style, 22 янв 2011.

  1. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    Есть URL типа
    http://сайт.ru/theme/social/?r_sortby=highest_rated&r_orderby=desc
    как присвоить переменной значение "?r_sortby=highest_rated&r_orderby=desc" ?
    Пытался сам, гуглил, не получилось, не нашел. Буду благодарен за помощь.
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Смотри массив _SERVER
     
  3. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    знаю что вывести последнюю строку из URL можно так:
    <?= basename($_SERVER['REQUEST_URI'])?>
    Но как переменной присвоить это значение я не знаю((
     
  4. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    print_r($_SERVER); - смотрите что из этого вам нужно
    Дальше $var= ...то что вам нужно
     
  5. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    <?=RPG?>, вы скорей всего невнимательно прочитали что необходимо сделать.
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Угу, как же ж иначе, мы только и делаем, что неправильно всё читаем.
     
  7. antiv89

    antiv89 Активный пользователь

    С нами с:
    3 ноя 2009
    Сообщения:
    37
    Симпатии:
    0
    OZ-Style
    Почему бы не воспользоваться регулярками или так

    PHP:
    1.  
    2.  
    3. $res = substr("http://сайт.ru/theme/social/?r_sortby=highest_rated&r_orderby=desc", 28);
    4. echo $res;
    5.  
    PHP:
    1.  
    2.  
    3. $res = explode( "?" , "http://сайт.ru/theme/social/?r_sortby=highest_rated&r_orderby=desc");
    4. echo $res[1];
    5.  
    6.  
     
  8. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    antiv89
    Объясни мне, глупенькому, зачем нужно использовать регулярки, мучаться с получением подстроки, если она УЖЕ готовая лежит в массиве? Ах, ну да, мне уже не понять эти ваши интырнеты.
     
  9. antiv89

    antiv89 Активный пользователь

    С нами с:
    3 ноя 2009
    Сообщения:
    37
    Симпатии:
    0
    Apple
    Я рассматривал строку, а не url и не знал, что все это хранится в глобальном массиве _SERVER.
    Теперь прочитал и знаю
    PHP:
    1. $_SERVER['QUERY_STRING']
    апд.
    кстати, именно $_SERVER['QUERY_STRING'], а не $_SERVER['REQUEST_URI']
     
  10. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    Дык а вы сначала попробуйте с помощью массива решить эту задачу.
     
  11. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <? $uri = trim($_SERVER['REQUEST_URI'], '/\\'); ?>
    Решил. Я теперь гений?
     
  12. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    Пока нет)), прочитайте внимательно что требуется сделать :)

    Нам не надо /theme/social/?r_sortby=highest_rated&r_orderby=desc
    нам надо ?r_sortby=highest_rated&r_orderby=desc
     
  13. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
     
  14. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    нам надо ?r_sortby=highest_rated&r_orderby=desc
     
  15. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    а у вас получается
    /theme/social/?r_sortby=highest_rated&r_orderby=desc
     
  16. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    отлично, только как здесь подставить текущий URL?
     
  17. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Тебе ж уже вроде отвечали про

    $r = $_SERVER['QUERY_STRING']

    можно даже

    $r = (!empty($_SERVER['QUERY_STRING'])) ? '?'.$_SERVER['QUERY_STRING'] : '';
     
  18. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    Спасибо всем, наконец то сложил воедино! работает:

    PHP:
    1. <?php
    2. $r = (!empty($_SERVER['QUERY_STRING'])) ? '?'.$_SERVER['QUERY_STRING'] : '';
    3. $res = explode( "?" , "$r");
    4.  echo $res[1];
    5. ?>
    $r = $_SERVER['QUERY_STRING'] - не подходит.
     
  19. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Извините, но пиздeц!!!!

    Чем вот это
    PHP:
    1.  <?php
    2.   $r = (!empty($_SERVER['QUERY_STRING'])) ? '?'.$_SERVER['QUERY_STRING'] : '';
    3.   $res = explode( "?" , "$r");
    4.    echo $res[1];
    5.   ?>
    отличается от
    PHP:
    1. <?
    2. $res = (!empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : '';
    3. echo $res;
    а?
     
  20. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    tommyangelo
    Решение ему было дано в первом же ответе, но .. анатомия хитрая штука =)
     
  21. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    PHP:
    1. <?
    2. echo (!empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : '';
    !!1111 :DDD
     
  22. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Padaboo
    Побалуемся с getenv уже тогда? =))
     
  23. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    ога))
    PHP:
    1. <?
    2. echo getenv('QUERY_STRING');
     
  24. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Apple мне иногда кажется, что народ пытается тонко троллить )
     
  25. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Какая сложная задача оказалась