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 :: Проблема кодировки url

 PHP.SU

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


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

> Без описания
netwixell
Отправлено: 05 Августа, 2012 - 11:41:48
Post Id


Частый гость


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


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

[+]


Здравствуйте. у меня такая прблема url страницы пользователя имеет такой формат

Если на сайте зарегестрирован юзер с латинским логином то все очень просто захожу на его страницу
PHP:
скопировать код в буфер обмена
  1. http://gift.com/mypage/Aleksandr

если это руский то я не смогу зайти по адресу
PHP:
скопировать код в буфер обмена
  1. http://mydomain.com/mypage/Александр
- выдает ошибку
но если я зайду по адресу
PHP:
скопировать код в буфер обмена
  1. http://mydomain.com/mypage/%C0%EB%E5%EA%F1%E0%ED%E4%F0

То попадаю на желаемую траницу польователя Александра

Помогите пожалуйста возможно я повторяюсь с вопросом тогда подскажите хотябы в какую сторону мне смотреть ?

(Отредактировано автором: 05 Августа, 2012 - 11:43:33)

 
 Top
Toxa
Отправлено: 05 Августа, 2012 - 12:33:06
Post Id



Посетитель


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


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

[+]


ваш браузер не поддерживает кирилицу. Выводите все ссылки с помощью urlencode


-----
Удобный сервис для хранения файлов
 
 Top
netwixell
Отправлено: 05 Августа, 2012 - 13:01:43
Post Id


Частый гость


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


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

[+]


Не думаю что это выход ибо я делаю сайт не для своего браузера а для всех
Хорошо
 
 Top
Мелкий Супермодератор
Отправлено: 05 Августа, 2012 - 13:12:28
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Это как раз выход для всех браузеров. В отличии от вывода в URL кириллицы. К тому же, в cp1251.


-----
PostgreSQL DBA
 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Августа, 2012 - 13:13:04
Post Id



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


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


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




netwixell пишет:
Не думаю что это выход ибо

А может Вы всё таки попробуете?
(Добавление)
Ссылку прогонять через urlencode, если браузер не IE.
А при получении прогонять $_SERVER['REQUEST_URI'] через urldecode.
Лучше без слешей.
То есть обробатывать все уровни адресной строки по отдельности.

(Отредактировано автором: 05 Августа, 2012 - 13:17:58)

 
 Top
netwixell
Отправлено: 05 Августа, 2012 - 13:17:34
Post Id


Частый гость


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


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

[+]


То есть как я понял нужно делать к примеру так
<a href="$url/mypage/urlencode($pagedata['frend'])"></a>

где $url - это адрес моего сайта mypage моя страница и применять urlencode именно к логину в поле ?

(Отредактировано автором: 05 Августа, 2012 - 13:18:03)

 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Августа, 2012 - 13:21:31
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. function url_encode($str)
  3. {
  4.     if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
  5.     return $str;
  6.     else
  7.     return str_replace('%2F', '/', urlencode($str));
  8. }
  9.  
  10. echo '<a href="'.$url.'/mypage/'.url_encode($pagedata['frend']).'">Ссылка</a>';
  11.  


При получении:

(Отредактировано автором: 05 Августа, 2012 - 13:30:44)

 
 Top
netwixell
Отправлено: 05 Августа, 2012 - 13:37:42
Post Id


Частый гость


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


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

[+]


armancho7777777 пишет:


function url_encode($str)
{if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
return $str;
else
return urlencode($str);
}
?>
<a href="/<?=url_encode('уровень 1')?>/<?=url_encode('уровень 2')?>/">Ссылка</a>




У меня не выходит
Вернее я не понял в чем суть скину полный вариант подскажите как перделать

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. function url_encode($str){
  4. if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE')){
  5. return $str;
  6. } else {
  7. return urlencode($str);
  8. }}
  9. $result = mysql_query("SELECT login,id FROM users ORDER BY login",$db);
  10. $myrow = mysql_fetch_array($result);
  11. do{
  12. <a href='/mypage/url_encode'%s'>%s</a>
  13.  
  14.         ",$myrow['login'],$myrow['login']);
  15. }while($myrow = mysql_fetch_array($result));
  16. ?>
  17.  

(Отредактировано автором: 05 Августа, 2012 - 13:40:13)

 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Августа, 2012 - 14:02:19
Post Id



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


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


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




Этот попов уже достал, урод грёбанный.
PHP:
скопировать код в буфер обмена
  1.  
  2. function url_encode($str)
  3. {
  4.     if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
  5.     return $str;
  6.     else
  7.     return str_replace('%2F', '/', urlencode($str));
  8. }
  9.  
  10. $result = mysql_query(
  11.           "SELECT `login`, `id`
  12.              FROM `users`
  13.          ORDER BY `login`", $db
  14.        );
  15.                  
  16. while($myrow = mysql_fetch_assoc($result))
  17. {
  18.       echo '<a href="/mypage/'.url_encode($myrow['login']).'">'.$myrow['login'].'</a>';
  19. }
  20.  

(Отредактировано автором: 05 Августа, 2012 - 14:14:53)

 
 Top
netwixell
Отправлено: 05 Августа, 2012 - 14:05:24
Post Id


Частый гость


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


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

[+]


Растерялся извеняюсь если кому приченил неудобства учемся как колучяется
 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Августа, 2012 - 14:06:25
Post Id



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


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


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




Да Вы - то причём ?)
Выкиньте этого урода, - попова.
Вот путёвый видео-курс:
_http://play-mix.ru/php_уровень_1-4/

(Отредактировано автором: 05 Августа, 2012 - 14:06:59)

 
 Top
netwixell
Отправлено: 05 Августа, 2012 - 14:06:42
Post Id


Частый гость


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


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

[+]


Я точьно не зацикливаюсь на попове ишю инфу визде где можно
 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Августа, 2012 - 14:09:22
Post Id



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


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


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




По коду заметно )
Весь поповский почерк:
коструция do/while где не попадя,
mysql_fetch_array вместо mysql_fetch_assoc,
printf c маркерами вместо простого есно))

(Отредактировано автором: 05 Августа, 2012 - 14:15:33)

 
 Top
netwixell
Отправлено: 05 Августа, 2012 - 14:15:36
Post Id


Частый гость


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


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

[+]


Все спасибо косательно попова ничего не могу сказать ибоя на его сайте только переходы вверх и вниз сайта брал. Больше учился на видео Александра Борового мне показалось что он знаток своего дела ну а запросы к бд я просто не пыталс выискивать инфу и думать и кавырять код так чтоб было без mysql_fetch_array я щяс почитаю попробую поюзать с mysql_fetch_assoc но для того чтоб это знаьб нужно перлапатить тонны литературы а у меня руки чешутся уже сейчас ченить свое намутить пускай и уебистое но свое Радость
 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Августа, 2012 - 14:17:13
Post Id



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


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


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




Вот этого Вам для начала за глаза хватит:
_http://play-mix.ru/php_уровень_1-4/

netwixell пишет:
Больше учился на видео Александра Борового

А он у попова ))
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB