За последние 24 часа нас посетили 25478 программистов и 1732 робота. Сейчас ищут 797 программистов ...

Передача ссылки в $_GET

Тема в разделе "PHP для новичков", создана пользователем q0b3rMAN, 12 май 2014.

  1. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Доброго времени суток, уважаемые программисты =)
    Есть вопрос. У меня есть ссылка:
    http://s.taobao.com/search?spm=a230r.1.7.3.0o6rsw&initiativ ... J_relative

    Собственно, я передаю ее своему скрипту site.com/im.php?href=http://s.taobao.com/search?spm=a230r.1.7.3.0o6rsw&initiative_id=itemz_20130926&tab=all&q=%D0%B5%BC%D2%D3%C3%C7%A3%D2%FD%B4%B2#J_relative

    Скрипт у меня открывает фреймом эту ссылку. Проблема в том, что открывается совсем другой адрес во фрейме, то-есть я передаю одну ссылку, а скрипт открывает другую. В моем понимании, что что-то не проходит в $_GET...

    Подскажите пожалуйста, в чем может быть причина?

    *** Вывел $_GET['href']... по всей видимости дело в символе & - скрипт начинает принимать другой параметр :)) а мне это не нужно, это ссылка. Помогите, как исправить это? :))

    **** В $_GET['href'] проходит ссылка только до http://s.taobao.com/search?spm=a230r.1.7.3.0o6rsw т.е. до следущего знака &, как сделать что-бы ссылка вся проходила? (вариант с POST отпадает).
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    закодить надо во ченить, а то косячится всё - есть недопустимые символы видимо.
    можно на стороне пхп сделать urlencode() а на js сделать decodeURIComponent()
    можно вообще тупо в base64 загнать, но лучше не надо.
     
  3. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Есть другой вариант? У меня там каталог с 1000 такими ссылками, и в ручную к каждой ссылке приписывать функцию, придется очень очень долго.

    Добавлено спустя 25 минут 32 секунды:
    Может можно что нибудь придумать что-то вроде со скриптом редиректа, если его встроить во внутрь движка (я имею ввиду не внешний, на отдельной странице, а внутрений, чтобы не надо было к каждой ссылке приписывать go.php .... exit.php и т.п... такое вообще возможно, существуют ли такие?) И редиректом использовать urlencode()....а потом уже на im.php декодировать...

    Надеюсь я щас не чушь написал =)))
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    где "там" и почему вручную?
     
  5. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Движок SimplaCMS. Вот каталог - http://primsova.ru/katalog-taobao
    На сайте Вещичка есть такая полоска - http://veschichka.com/links/4336.html, я делаю такую же. (там полоска, и фрейм). Тоесть сейчас мне мало того что нужно к каждой ссылке в каталоге дописать что-то вроде im.php?href=bla_bla_bla. А PHP или JS функцию туда воткнуть в редакторе проблематично :))

    [​IMG]
    [​IMG]
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Сделай реорганизацию по скрипту и месту которое надо исправить и замени.
     
  7. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    У меня вопрос, а как же тогда работают редиректы ?! Как сервер принимает ссылку что-то вроде go.php?href=http://vk.com/?act=login&im=reset .... ?? Или там кодируется она?)

    Добавлено спустя 9 минут 31 секунду:
    Можно поконкретней? :))
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я даже не хочу в это вникать =)
    ты задумайся на секунду, откуда в твоём движке берётся эта ссылка?
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В переменной GET еще нельзя передать больше 255 символов.
    это 3 символа, а не один (к примеру).
     
  10. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    В одной переменной или вообще в урле?
     
  11. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Что же делать? :))
     
  12. igordata

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

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

    передавай некий идентификатор ссылки на скрипт-редиректор,а он пусть выцепляет из базы твою ссылку и редиректит.
     
  13. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Была такая идея, но ссылку из базы тоже проблематично будет выдернуть. Проще будет все ссылки в базу перенести, и уже потом их выдергивать :)
     
  14. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это единственный разумный вариант, а не "проще" =)
     
  15. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Ладно, думаю так и сделаю. Спасибо за внимание :))
     
  16. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Подскажите пожалуйста какой-нибудь цикл в готовом примере.
    То есть, что-бы мне не пришлось заполнять вот таким образом
    Код (Text):
    1.         if ($id == '1') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.0o6rsw&initiative_id=itemz_20130926&tab=all&q=%D0%B5%BC%D2%D3%C3%C7%A3%D2%FD%B4%B2#J_relative'; }
    2.         if ($id == '2') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.pSHq84&initiative_id=itemz_20130926&tab=all&q=%D1%B9%CB%F5%CE%ED%BB%AF%CE%FC%C8%EB%C6%F7#J_relative'; }
    3.         if ($id == '3') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.AH5uX4&initiative_id=staobaoz_20130926&tab=all&q=%B0%B4%C4%A6%BF%BF%B5%E6&stats_click=search_radio_all%3A1#J_relative'; }
    4.         if ($id == '4') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.2PHC5H&initiative_id=itemz_20130926&tab=all&q=%D0%B5%D5%EB%BE%C4%B0%B4%C4%A6%D2%C7%C6%F7#J_relative'; }
    5.         if ($id == '5') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.TG8ivp&initiative_id=itemz_20130926&tab=all&q=%B3%AC%C9%F9%B2%A8%C3%C0%C8%DD%D2%C7%C6%F7#J_relative'; }
    6.         if ($id == '6') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.jrQf1j&initiative_id=staobaoz_2013092&tab=all&q=%B0%B4%C4%A6%BF%BF%B5%E6%C8%AB%C9%ED%B0%B4%C4%A6%B5%E6&suggest=0_1#J_relative'; }
    7.         if ($id == '7') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.VO2kaB&initiative_id=staobaoz_20130926&tab=all&q=%B0%B4%C4%A6%D2%CE&suggest=0_2#J_relative'; }
    8.         if ($id == '8') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.UcWus5&initiative_id=staobaoz_20130926&tab=all&q=%B5%E7%B0%B4%C4%A6%BF%BF%B5%E6+%B3%B5%D3%C3&stats_click=search_radio_all%3A1#J_relative'; }
    9.         if ($id == '9') { $href = 'http://s.taobao.com/search?spm=a230r.1.7.3.jpIdTu&initiative_id=itemz_20130926&tab=all&q=%CA%D6%CD%F3%CA%BD%B5%E7%D7%D3%D1%AA%D1%B9%BC%C6#J_relative'; }
    10.        
    А что то вроде:
    foreach (bla bla bla) {
    ссылки...
    ссылки...
    }

    Буду очень благодарен ))
     
  17. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а где ты берёшь ссылки-то?
     
  18. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    С каталога.
    Я хочу чтобы не нужно было прописывать в ручную ID, а просто вставить в список ссылки. Такое же возможно? Посоветуйте какой-нибудь цикл, пожалуйста)
     
  19. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты очень утомляешь =) честно. чтобы тебе помогать надо задавать кучу вопросов.

    Если ты берёшь из бд ссылки и не умеешь работать с ответом из бд то я не знаю, чем тебе помочь и как.
     
  20. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Ссылки у меня обычным списком.
     
  21. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    обычным? а мне надо догадаться что такое для тебя обычный список? =) вот об этом я и говорю

    в файле? в пхп массиве? где? как? нипанятна. если они у тебя списком, зачем эти ифы?
     
  22. q0b3rMAN

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

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Списком, в файле. Только массив нужен чтобы я этот список вставил в PHP файлик )
     
  23. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $urls = file('/a/a/a/a');
    foreach ( $urls as $key => $url) {