Пятница
17 Май 24, 02:59
BYDEM.RU Web Стандарт
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории каталога
PHP [18]
HTML [3]
CSS [2]
Общая информация [7]
MySQL [3]

Мини-чат
200

Главная » Статьи » Учебники » MySQL

Гостевая книга на SQLite

Итак приступим к делу!

Собственно клас выглядит так:

<?
class gb
{
private $db = 'gb';
//объявляем конструктор
function __construct ()
{
$this->connect();
}
//соединяемся или создаём базу (если не существует)
private function connect ()
{
$this->lnk = sqlite_open($this->db, 0660);
if (!file_exists($this->db)) throw new Exception('База данных не создана!');
}
//выбираем из таблицы записи
public function selectRec($s,$f)
{
$s = intval($s);
$f = intval($f);
$q=sqlite_query ($this->lnk,"SELECT * FROM messages ORDER by id DESC LIMIT $s,$f");
if (!$q) throw new Exception ('Запрос на выборку данных не был выполнен!');
while (sqlite_valid($q)) {
$r = sqlite_current($q);
$row[] = $r;
sqlite_next($q);
}
return $row;
}
//проверка переменных
private function checkvar($var,$len)
{
$var = iconv('UTF-8','windows-1251',$var);
$var = trim(strip_tags(substr(sqlite_escape_string($var),0,$len)));
if (empty($var)) throw new Exception ('Заполните все поля!');
return iconv('windows-1251','UTF-8',$var);
}
//не даём устроить флуд (исключительно по ip)
private function checkip($ip){
$q=sqlite_query($this->lnk,"SELECT ip, time FROM messages WHERE time>".time()." - 120 and ip='".$ip."'");
if ( sqlite_num_rows($q) > 0 ) return false;
else return true;
}
//добавляем запись в таблицу
public function insertRec($name, $message, $ip, $browser)
{
$name = $this->checkvar($name,15);
$message = $this->checkvar($message,150);
$ip = $this->checkvar($ip,50);
$browser = $this->checkvar($browser,70);
$this->checkip($ip);
$q=sqlite_query($this->lnk,"INSERT INTO messages (name, message,ip, browser,time) VALUES ('$name','$message','$ip','$browser','".time()."')");
if (!$q) throw new Exception ('Запись не была добавлена');
}
//конвертация из виндовой кодировки в utf
public function win2utf ($msg)
{
return iconv ('windows-1251','UTF-8',$msg);
}
}
?>

Каждый метод класса имеет свой комментарий и название метода несёт свою смысловую нагрузку, так что разобраться думаю не сложно будет.
Код класса хорошо прокомментирован, с его разбором проблем не будет.

Описание методов:

selectRec ($arg1, $arg2) - выбор записей из таблицы, начиная от $arg1, до $arg2
checkvar($arg,$arg2) - Проверка переменой, $arg1 - сама переменная, $arg2 - длина до которой необходимо обрезать переменную
insertRec($arg1,$arg2,$arg3,$arg4) - Добавление записи в таблицу, $arg1 - имя автора поста, полученное из формы, $arg2 - сообщение автора, полусенное из формы, $arg3 и $arg4 - непосредственно ip автора и браузер.

Автор статьи: windoctor
e-mail: admin@wapcoder.com, admin@windoctor.org
Сайт автора: http://sultanov.net, http://wapcoder.org, http://windoctor.org

Все вопросы вы можете задать на форуме wapcoder.com или по e-mail
При перечатке материалов необходимо установить видимую ссылку на http://wapcoder.com

Категория: MySQL | Добавил: bydem (14 Сен 07)
Просмотров: 831 | Комментарии: 3 | Рейтинг: 0.0/0 |
Всего комментариев: 2
2 altia  
0
Дети любят получать подарки, Новогоднее представление в Кремле является самым престижным детским праздником России? да и какой Новый год без них, но основной подарок принесет Дед Мороз, положит его под елку, а утром ваше чадо его развернет. Самый первый новогодний праздник Кремлевской Елки прошел в 1954 году. Ну а в момент праздника можно подарить детям небольшие сувениры. [url=http://www.podaril.ru]виртуальные новогодние сувениры[/url], Уже многие годы сказочный музыкальный спектакль на новогодний праздник Кремлевской Елки является для его молодых зрителей ярким, незабываемым зрелищем.
Настолько небольшие, чтобы они поместились в надутом воздушном шарике. Шарики связать в виде елки, поставить в уголок до момента розыгрыша. Готовые наборы для проведения фейерверков. Информация о скидках. Бесплатная доставка по Москве в течение 24-х часов. Услуги по проведению пиротехнических шоу.
А когда настанет момент разыргать шарики, проколоть и достать сувенир. Шариками можно награждать тех, кто расскажет стишок или споет песню.

1 @  
0
только у нас в [url=http://www.ssivkov.ru]салоне: татуаж с обезболиванием[/url] участка тату. девченки я проколола [url=http://www.veronik.ru]клитор, пирсинг клитора[/url] - это не больно

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Copyright MyCorp © 2024