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

         

Что ж... обещания принято выполнять


BR> Что ж... обещания принято выполнять. Сегодня пишем процедуру добавления в базу нашего сайта нового текста. По крайней мере — начнем писать.

Не буду плющить вас долгим предисловием, приступим к работе. Налейте себе чашку крепкого кофе — миндальничать сегодня не буду. Пишем по-взрослому.

На какие этапы логично разбить эту задачу? Мне думается, что на такие:

1. Проверка данных на корректность.
2. Приведение текста к нужному виду
3. Сохранение текста на диске
4. Добавление необходимых данных в БД.

Согласны? Вот и начнем с самого начала.

Функции можно добавлять в class_in, он ведь у нас отвечает за добавление данных.

Нам понадобятся переменные.

var $this->in_text; // сам текст var $this->in_text_name; // название текста var $this->in_text_id; // id текста var $this->in_text_dt; // дата добавления var $this->in_text_cat; // рубрика

Вах! Ну-ка, обратимся к главе, где мы создавали базу данных. Ошибку видите? Нет, не видите. Подсказываю: а где же мы будем хранить номер рубрики? В таблице tbl_texts нет поля для номера рубрики, соответствующей данному тексту. Какая оплошность! Ничего, сейчас исправим:

alter table tbl_texts add column t_cat int not null;

Все. Теперь есть! А те, кто читают данный курс не подряд — пожалеют об этом, и не один раз (тут злобная ухмылка).

Для тех, кто читает подряд, перевожу: изменить таблицу tbl_texts, добавив в нее целочисленное поле t_cat.

Свою ошибку удачно исправили, теперь будем проверять на ошибки данные пользователя, управляющего нашей системой (готовьте class_utils — добавлять описания новых ошибок).

Нам много не потребуется:

function in_text_data_check() { $this->in_text_name=AddSlashes($this->in_text_name); if(strlen($this->in_text_name)==0) return(24); if(strlen($this->in_text_name)>200) return(25); return(0); }

Тут и пояснять нечего.



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