Когда я посылаю в ссылке что то вроде href="topic.php?language=c++", на страницу topic.php наверзу видно topic.php?language=c++. То есть вроде бы всё работает, однако когда пытаюсь использовать $_GET он берет только букву с.Зачем и как это исправить?
echo $_GET["language"];
result: c(без ++ и даже если передать с#, то он опять покажет с без #)
В строке uri символ + равнозначен пробелу, т.е. вы фактически передаёте символ с, за которым следуют два пробела, и чтобы в этом убедиться, распечатайте $_GET таким способом: var_dump($_GET);.
Для преобразования пользуйтесь чем-то вроде urlencode() - с её помощью символ + будет преобразован в %2B, т.е., два "нормальных" плюса будут выглядеть так: %2B%2B, а строка uri примет следующий вид: ?language=c%2B%2B, при этом var_dump($_GET); вам отобразит:
array (size=1)
'language' => string 'c++' (length=3)
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники