За последние 24 часа нас посетили 58387 программистов и 1683 робота. Сейчас ищут 1323 программиста ...

Передача переменных в виде ссылок методом get

Тема в разделе "PHP для новичков", создана пользователем zevilz, 16 июл 2012.

  1. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    в каком виде и как лучше передавать переменые в виде ссылок методом get? Это мне необходимо для редиректа на ту же самую страницу, где находится пользователь, после входа/выхода. Вход реализован с помощью формы с методом post. Тут я просто добавляю hidden поле с подставкой текущего урла. Этот урл передается методом post файлу login.php, который при успешном входе делает редирект на страницу, с которой осуществлен вход. Выход осуществляется через ссылку методом get. Выход в login.php аналогичен входу. В ссылку для выхода добавляю к ссылке &url=..... Вроде все работает. Но при смене схемы url на folder based форум ругается на вид ссылки. Может есть еще кокой способ сделать редирект на предыдущую страницу? Или как нибудь преобразовать урл для передачи методом get?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  3. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Спасибо за ссылочки)))

    Добавлено спустя 52 минуты 39 секунд:
    Почему-то ссылка
    Код (Text):
    1. http://site.zz/logout/2/3fe4032206440cfa458ad5169eb8fe0060dd7dc9/%2Fabout%2F/
    не проходит по правилу
    Код (Text):
    1. RewriteRule ^logout/([0-9]+)/([a-z0-9]+)/(.*)/$ forum/login.php?action=out&id=$1&csrf_token=$2&lastpage=$3
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ошибка где-то еще может быть или путь от корня надо указать. ^/logout...
     
  5. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Спасибо, разобрался. Правило верно, но для некодированного urlа в переменной. Немного подправил код, и сейчас login.php начал хавать и некодированный url при выходе и корректно редиректит на предыдущую страницу
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не очень понятно о чем ты и что ты делаешь
     
  7. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    блин, только при таком выводе съедаются слеши
    если
    Код (Text):
    1. $_SERVER['REQUEST_URI'] = /about/
    , то ссылка получается такой:
    Код (Text):
    1. http://site.zz/logout/2/3fe4032206440cfa458ad5169eb8fe0060dd7dc9//about//
    После того, как переменная пришла в login.php от переданного куска urla остается
    Код (Text):
    1. about
    Можно, конечно, при редиректе добавить эти слеши по краям. Только вот у меня есть urlы без слеша на конце.
    Придется наверное кодировать url
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чувак, ты как делаешь ссылку? я ж тебе вроде функции дал...
     
  9. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    ща буду функции пробовать
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ааааааааааааа..... капец.... :D
     
  11. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Функции то вроде работают. urlencode перекодил мне
    Код (Text):
    1. /about/
    в
    Код (Text):
    1. %2Fabout%2F
    Но вот только не могу в правиле RewriteRule прописать его
     
  12. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    использовал base64_encode/base64_decode для передаваемого urlа
    заработало)))
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    бяда =)