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 :: Как валидно передать строчку с русскими символами через параметр id в ссылке?

 PHP.SU

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


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

> Без описания
alex_uni
Отправлено: 21 Января, 2015 - 17:21:40
Post Id


Новичок


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


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




Есть ссылка:
PHP:
скопировать код в буфер обмена
  1. <td><a href="?id=<?=$item['department'];?>"><?=$item['department']?></a></td>

Подскажите пожалуйста, как можно передать строчку с русскими символами через параметр id в ссылке, чтобы валидатор не ругался?
Цитата:
Bad value ?id=торговая группа for attribute href on element a: Illegal character in query: not a URL code point.
<td><a href="?id=торговая группа">торговая группа</a></td>
Syntax of URL:
Any URL. For example: /hello, #canvas, or http://example.org/. Characters should be represented in NFC and spaces should be escaped as %20.

Сама строка причем передается правильно, порос в валидности
Буду бгагодарен за ответ!
 
 Top
RickMan
Отправлено: 21 Января, 2015 - 17:33:25
Post Id


Участник


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


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




 
 Top
alex_uni
Отправлено: 21 Января, 2015 - 20:19:39
Post Id


Новичок


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


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




Решил с помощью функций кодирования (urlencode)- раскодирования (urldecode). Может, кому-нить пригодится
PHP:
скопировать код в буфер обмена
  1. <td><a href="?id=<?=urlencode($item['department']);?>" ><?=$item['department']?></a></td>

и раскодирование на принимающей стороне

Теперь все хорошо передается и код валиден! Проблема решена! Улыбка
 
 Top
skiphog
Отправлено: 21 Января, 2015 - 21:49:48
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


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




Переменные в суперглобальных массивах $_GET и $_REQUEST уже декодированны. Применение urldecode() к элементам $_GET или $_REQUEST может привести к непредсказуемым и опасным результатам.
--
© php.net https://php.net/manual/ru/function.urldecode.php
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB