передаю параметр "+1" в урле, так вот на локалке мне приходит в скрипт "+1" а на серваке " 1" (пробел), про urlencode знаю, но если натравить его на "+1" то будет ошибка это фича или баг или что, и как правильно разрулить?
Укажи текст ошибки, которая возникает, если Там не должно быть никакой ошибки. PHP: <?php $str = '+1'; echo(urlencode($str)); ?> Выводит %2B1 , как и должно быть.
есть ф-я PHP: function foo($param) { eval('$a=3'.$param); //не работает на серваке потому что приходит ' 1' eval('$a=3'.urlencode($param)); //не работает на локалке потому что приходит '+1' }
)) urlencode() нужно применять когда генерируешь url, а не когда принимаешь значения. При приёме данных web-сервером обычно автоматически url декодируется, если нет - можно использовать urldecode();
Делать eval() для данных, которые приходят из вне (в данном случае методом GET) - это критическая уязвимость в безопасности сайта.