Это конечно же чушь. Точки никакими спецсимволами не являются, и ведут себя одинаково в любых кавычках.
Проблема в другом, и вы могли бы легко её найти, если бы не изображали обиженную дитятку, а сделали то что вам говорят
+ действительно декодится в пробел, поэтому все параметры в query string надо кодировать в urlencode()
это так же обязательно, как кодировать весь вывод в htmlspecialchars
Вот это правильно. Это надо делать в любом случае, чтобы не передавать кривые имена колонок. А заодно это и отсечет все скрипты и вообще любые попытки взлома.
Вообще, ловить какое-то одно слово - это совсем какая-то непроходимая глупость. Кроме этого несчастного < script > есть ещё примерно 100500 офигиллиардов способов взлома.
Надо писать код так, чтобы ему вообще никакие попытки взлома были не страшны. А не блох ловить, типа union, script, /etc/passwd и прочие глупости
при чем здесь вообще какие-то < script >? Зачем эта глупость? никаких проверок для этого делать не надо.
Вы прочли, что у меня в ответе написано? Откуда там этот скрипт возьмется?
AgentSmith72, внутри у неё - тот же цикл. то есть перебор массива.
по возможности перебора следует избегать.
поэтому лучше для поиска делать массив наоборот - ключами сделать то что ищем, а значениями - ну просто цифру 1.
И тогда вместо перебора будет сразу нужное значение
Вместо ['mazda', 'ford', 'lotus'] сделать ['mazda' => 1, 'ford' => 1, 'lotus' => 1]
и тогда in_array будет $array[$search] ?? false
сплит здесь не при чем.
я не буду играть с вами в кошки-мышки, приводя примеры, которые с вашим решением не работают
попробуйте самостоятельно решить задачу так, как она поставлена в исходном вопросе.