powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP $_GET менят + на пробел
20 сообщений из 20, страница 1 из 1
PHP $_GET менят + на пробел
    #38575401
testlogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как обойти данную проблему?
принимаю GET test+t, а мне меняет на test t
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575446
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не проблема, а фича.
Передавать "+" как "%2B".
То же самое относится и к некоторым другим символам, включая пробел.
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575547
testlogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите, как в таком случае передать из бд данные, в которых есть пробелы и + в виде href
затем, чтобы эта href ссылка работала
Спасибо
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575571
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urlencode
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575609
testlogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с urlencode я разобрался
но теперь проблема в том, как обработать входные данные
получаем $_GET нужно же сразу urlencode, т.к. если сразу обрабатывать GET, то потом применение urlencode не сработает
что посоветуете
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575629
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
testlogon,

Посоветую подробно изложить проблему, так, чтобы было понятно не только Вам. Если еще и добавите код (несколько строк, так, чтобы можно было скопипастить и запустить на своей машине), иллюстрирующий проблему - будет вообще замечательно.
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575636
testlogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все очень просто
1. Из базы данных я получаю $row['name'], методом POST который может содержать символы: + пробел и т.д.
2. Далее выводится таблица с линками
Код: php
1.
<td><a href="search.php?name='.$row['name'].'&st=1">'.$row['name'].'</a></td>


3. Нажав на данную ссылку мы отправляем $_GET
4. Далее мы получаем $_GET['name'] параметр, который будет учавствовать в запросе вида ..... WHERE name='.$row['name'].'
НО!!! все + пробелы удаляются - вот в чем проблема
а мне же нужно $_GET['name'] перед вставкой в запрос обработать.....
как то так)
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575638
testlogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне нужно и обработать GET и оставить знаки "+" "пробел" на своих местах
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575662
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
<td><a href="search.php?name=' . urlencode($row['name']) . '&st=1">' . $row['name'] . '</a></td>
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575822
testlogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
тогда запрос получится вида LIKE '%%BB%D0%B8%' и ничего не выдает
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38575981
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
testlogonvkle,
тогда запрос получится вида LIKE '%%BB%D0%B8%' и ничего не выдаетхелп для разнообразия почитайте )
urldecodeОписание
string urldecode ( string $str )
Декодирует любые %## кодированные последовательности в данной строке. Символ "плюс" ('+') декодируется в символ пробела.
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38576586
testlogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILLHEAD, это понятно
но решения, чтобы оставить + и пробел на своих местах с помощью php я не нашел
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38576604
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
testlogon,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
<?php
if(isset($_GET['url'])) {
    echo '<pre>';
    var_dump($_GET['url']);
    echo '</pre>';
}
$url = "Строка с пробелами и + символом";
echo '<a href="?url='.urlencode($url).'">ссылка</a>';
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38576959
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
testlogonvkle,
тогда запрос получится вида LIKE '%%BB%D0%B8%' и ничего не выдаетА попробовать лень было?
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38578456
Sanjar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю лучше выводить ИД записи в GET и от него получать ссылку, или же придётся переводить ваше поле name в транслит
пример транслита
function translit($str)
{
$tr = array(
"А"=>"a",
"Б"=>"b",
"В"=>"v",
"Г"=>"g",
"Д"=>"d",
"Е"=>"e",
"Ё"=>"e",
"Ж"=>"j",
"З"=>"z",
"И"=>"i",
"Й"=>"y",
"К"=>"k",
"Л"=>"l",
"М"=>"m",
"Н"=>"n",
"О"=>"o",
"П"=>"p",
"Р"=>"r",
"С"=>"s",
"Т"=>"t",
"У"=>"u",
"Ф"=>"f",
"Х"=>"h",
"Ц"=>"ts",
"Ч"=>"ch",
"Ш"=>"sh",
"Щ"=>"sch",
"Ъ"=>"",
"Ы"=>"i",
"Ь"=>"j",
"Э"=>"e",
"Ю"=>"yu",
"Я"=>"ya",
"а"=>"a",
"б"=>"b",
"в"=>"v",
"г"=>"g",
"д"=>"d",
"е"=>"e",
"ё"=>"e",
"ж"=>"j",
"з"=>"z",
"и"=>"i",
"й"=>"y",
"к"=>"k",
"л"=>"l",
"м"=>"m",
"н"=>"n",
"о"=>"o",
"п"=>"p",
"р"=>"r",
"с"=>"s",
"т"=>"t",
"у"=>"u",
"ф"=>"f",
"х"=>"h",
"ц"=>"ts",
"ч"=>"ch",
"ш"=>"sh",
"щ"=>"sch",
"ъ"=>"y",
"ы"=>"i",
"ь"=>"j",
"э"=>"e",
"ю"=>"yu",
"я"=>"ya",
" "=> "_",
"."=> "",
"/"=> "_",
","=>"_",
"-"=>"_",
"("=>"",
")"=>"",
"["=>"",
"]"=>"",
"="=>"_",
"+"=>"_",
"*"=>"",
"?"=>"",
"\""=>"",
"'"=>"",
"&"=>"",
"%"=>"",
"#"=>"",
"@"=>"",
"!"=>"",
";"=>"",
"№"=>"",
"^"=>"",
":"=>"",
"~"=>"",
"\\"=>""
);
return strtr($str,$tr);
}

ввод его в бд

$data = "'".translit($_POST['your_data'])."'";
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38578644
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что люди не придумают лишь бы манула не читать.
iconv //TRANSLIT
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38578756
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowлишь бы манула не читать Манула не читать нужно, а гладить и кормить :-)
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38578849
Sanjar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowчто люди не придумают лишь бы манула не читать.
iconv //TRANSLIT

если вы про меня, то я бы вам посоветовал почитать мануал про iconv, так как эта функция менят кодировку текста //TRANSLIT выводит спец символы
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php
$text = "This is the Euro symbol '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

?>


Результатом выполнения данного примера будет что-то подобное:
Original : This is the Euro symbol '€'.
TRANSLIT : This is the Euro symbol 'EUR'.
IGNORE : This is the Euro symbol ''.
Plain :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7
This is the Euro symbol '
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38578896
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чего???
...
Рейтинг: 0 / 0
PHP $_GET менят + на пробел
    #38580113
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пепел есть у кого?
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP $_GET менят + на пробел
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]