Архив рассылки -программирование на PHP

         

Приятно работать с внимательными учениками


Приятно работать с внимательными учениками.

Ввод данных.

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

"Ну какие еще подготовительные этапы", — скажет нетерпеливый программист. Написать один запрос в базу, запихивающий строку-название раздела, и всего делов.

Так-то оно так... да не так.

А если сайтом управляет полный неуч? Или, того хуже, — в руки к злоумышленнику попала панель управления сайтом, и он начнет искать уязвимые места, чтобы нанести урон системе?

Вот именно! Первым этапом мы обязаны проверить те данные, которые собираемся заносить в базу.

Это не сложно. Надо для себя описать условия, которым должна удовлетворять строка текста, которую мы добавляем в качестве названия раздела. Я говорю добавляем, так как сначала пишем функцию добавления нового раздела.

Если я не ошибаюсь, то наша строка-название должна удовлетворять следующим параметрам: быть не короче одного символа, быть не длиннее пятидесяти символов и не должна дублировать уже существующую рубрику.

Вот так и напишем (готовьте файл utils, будем добавлять в него первые сообщения об ошибках).
function in_cat_add_check($name) { // добавление слешей перед управляющими символами . $name=AddSlashes($name); // проверка на кол-во символов if(strlen($name)==0) return(21); if(strlen($name)>50) return(22); // проверяем на существование такой рубрики $this->sql_res="select c_id from tbl_cats where c_name='$name'"; $this->sql_execute(); if($this->sql_err) return(11); if(mysql_num_rows($this->sql_res)) return(23); return(0); } И сразу, чтобы ничего не забыть, добавляем в список ошибок (файл utils.class) наши новые ошибки.
// Ошибки работы с рубриками $err[21]="Вы не задали название рубрики"; $err[22]="Длинна рубрики превышает допустимые 50 символов"; $err[23]="Такая рубрика уже есть в базе"; Вот так.



Содержание раздела