Показать сообщение отдельно
  #31 (permalink)  
Старый 28.09.2017, 05:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dan922
я чет не совсем понимаю, так ведь приходят целые числа, нет?
Нет, все что в значениях полей формы, это строки, строковые представления, и сервер получается строки. А все что присылают серверу может быть "подделкой". Ссылку на документацию РНР я дал, скачивайте. Там есть раздел о безопасности, в котором есть и о безопасности баз данных.
Если вы не проверив, что прислал клиент, подставите его данные в запрос, то вашу базу могу и взломать, так как вы ожидали что там 5, а к ней еще добавят запрос.

Сообщение от Dan922
Дайте пример вот на это
В самом простом случае, это привести к типу integer, так как знаем, что получаем идентификаторы:

if($id = (int)имя_переменной) {
     теперь $id можно подставлять в запрос так как это число и не равно 0
}


Ищите в руководстве раздел работы с переменными, где описана и функция проверки переменной является ли она числом или строкой, содержащей число - is_numeric. Также в РНР достаточный набор фильтров для проверки данных. Я вам не могу написать примеров хотя бы потому, что вы их вставите в свое, а в итоге не получится. Примеры использования той или иной РНР функции смотрите в разделе ее описания, есть там и примеры.

Все потому, что нужно не просто проверять число/не число, но еще и отдавать клиенту сообщения об ошибках, то есть прием формы от клиента, это есть диалог клиент -> сервер -> клиент. Вы что хотите чтобы я вам полный скрипт всего и вся написал? Я не буду. Ищите здесь, в сети подобные вопросы, скрипты, изучайте и применяйте у себя познанное.

Это не раздел РНР, серверным скриптам на этом форуме посвящен другой раздел и писать тут много о проблемах на сервере не стоит. В данном разделе можно было бы вести диалог о клиентской части вашего кода. А она никуда не годится - много лишнего.
Ответить с цитированием