Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Параметры запроса перепивают друг друга

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
zzzzzz
Отправлено: 12 Сентября, 2013 - 00:17:39
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Салют тем кто еще не спит.
Такой GET запрос :
site.ru/script.php?id=25&url=http://ruseller[dot]com/lessons.php?[dot][dot][dot]b=37&id=1708

Вот что говорит firebug :
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. id      25
  3. id      1708
  4. url     http://ruseller.com/lessons.php?rub=37


Первым параметром передаю id а вторым url. Когда на сервере принимаю вижу id 1708 а не 25.

Браузер думает что id из второго передаваемого параметра это id который нужно передать серверу но второй id никак не относится к передаваемому параметру id а всего лишь часть второго передаваемого параметра пот названием url.

id который не реальный id перебивает реальный id (да как правильно сказать Огорчение )

Что делать?
 
 Top
Faraon-san
Отправлено: 12 Сентября, 2013 - 00:22:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




экранируй спец символы в урл
 
 Top
zzzzzz
Отправлено: 12 Сентября, 2013 - 00:26:23
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




урл динамический
(Добавление)
т.е не всегда может ложный id передаваться
 
 Top
Faraon-san
Отправлено: 12 Сентября, 2013 - 00:32:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




назови свой id по другому

(Отредактировано автором: 12 Сентября, 2013 - 00:32:42)

 
 Top
zzzzzz
Отправлено: 12 Сентября, 2013 - 00:32:12
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




парсить что ли каждый раз Не понял
(Добавление)
а какие гарантии что мой новый id опять же случайно не попадется в урл
может есть другие варианты
 
 Top
Faraon-san
Отправлено: 12 Сентября, 2013 - 00:41:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




на ум приходит только закодировать в base64
(Добавление)
сейчас может еще кто идею подкинет =) сам сижу жду идею
 
 Top
esterio
Отправлено: 12 Сентября, 2013 - 01:58:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




 
 Top
zzzzzz
Отправлено: 12 Сентября, 2013 - 12:27:15
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Эта функция бесполезна т.к перед отправкой ничего не могу сделать потому что ajax и соответственно собирает параметры будущего запроса javascript

Получается нужен аналог функции urlencode в javascript
 
 Top
IllusionMH
Отправлено: 12 Сентября, 2013 - 13:03:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




zzzzzz пишет:
аналог функции urlencode в javascript

zzzzzz, а теперь нужно вбить эту строку в любимом поисковике.
 
 Top
esterio
Отправлено: 12 Сентября, 2013 - 13:09:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




 
 Top
zzzzzz
Отправлено: 12 Сентября, 2013 - 13:15:30
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Цитата:
Получается нужен аналог функции urlencode в javascript

Это были мысли в слух, аналог сразу нашел.
Спсибо
 
 Top
IllusionMH
Отправлено: 12 Сентября, 2013 - 13:20:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




zzzzzz, ну так нужно делится результатами для пользователей, который это будут искать в слудующий раз.
Надеюсь, это encodeURIComponent, а не просто encode? (блин, не заметил пост от esterio)

(Отредактировано автором: 12 Сентября, 2013 - 13:21:10)

 
 Top
zzzzzz
Отправлено: 12 Сентября, 2013 - 13:37:22
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Признаю ошибку. Поясняю для тех кто будет искать ответ на этот вопрос

На стороне клиента перед отправкой аякс запроса нахожу url
CODE (javascript):
скопировать код в буфер обмена
  1. var url =  document.getElementById('url').value;

получим :
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://ruseller.com/lessons.php?rub=37&id=1708


И теперь чтобы параметры в url не воспринимались браузером как передаваемые нужно обернуть найденный url в функцию encodeURIComponent();
CODE (javascript):
скопировать код в буфер обмена
  1. var url = encodeURIComponent( document.getElementById('url').value );

получим :
CODE (htmlphp):
скопировать код в буфер обмена
  1. http%3A%2F%2Fruseller.com%2Flessons.php%3Frub%3D37%26id%3D1708


Вот теперь url можно спокойно передавать не боясь что все get параметры в ней не полетят по ошибке на сервер.

Теперь на стороне сервера нужно полученный url раскодировать функцией urldecode();


получим :
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://ruseller.com/lessons.php?rub=37&id=1708


Если где ошибся пожалуйста исправьте.

(Отредактировано автором: 12 Сентября, 2013 - 13:40:18)

 
 Top
esterio
Отправлено: 12 Сентября, 2013 - 14:54:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




zzzzzz пишет:
Теперь на стороне сервера нужно полученный url раскодировать функцией urldecode();

Необязательно. ПХП сам декодирует URL
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB