Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №8 разработка Чата с испол...doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
207.44 Кб
Скачать

Лабораторная работа №9

Разработка Чата с использованием Dbase файлов.

ЗАДАНИЯ:

Задание 1.

Написать PHP программу для регистрации пользователей Чата в Dbase файле Пользователей.

Задание 2.

Написать PHP программу для авторизации работы с данными , представленными на сайте.

Задание 3.

Напишите программу работы в чате Пользователей.

Разработайте Dbase файл с регистрацией входа/выхода в Чат Пользователя и

сохранения его сообщения. Сохраните все детали работы в Чате различных Пользователей.

Теоретическая частьПоказываем версию php интерпретатора:

<?   echo phpversion();   ?>

Убираем ограничение времени на выполнения скрипта:

<?   set_time_limit(0);   ?>

Показываем на экран монитора операционную систему, в которой работает php интерпретатор:

<?   $os=explode(" ",php_uname());   $os=$os[0];   echo "Наша операционная система - ".$os;   ?>

Dbase функции

Оглавление

dbase_create

dbase_open

dbase_close

dbase_pack

dbase_add_record

dbase_delete_record

dbase_get_record

dbase_numfields

dbase_numrecords

Эти функции позволяют получить доступ к записям в  dBase-формате (dbf) базы данных.

Не поддерживаются индексы и мемо(записи) поля. Также не поддерживается блокировка. Поддержка dBase введена для импорта и экспорта ваших данных из и в вашу web базу данных, так как этот формат обычно понимают многие программы, например электронные таблицы, в Windows. Поддержка dBase для любого экспорта или импорта данных хорошо выполняет эти условия.

dbase_create

dbase_create -- создать dBase базу данных

Описание

int dbase_create(string filename, array fields);

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

Доступные типы полей:

 

L

Логическое. Не требует длину или точность.

M

Мемо. (Помните, что они не поддерживаются в PHP.) Не требует длину или точность.

D

дата (сохраненная как ГГГГММДД). Не требует длину или точность.

N

Числовое. Это поле имеет и длину и точность(количество цифр после десятичной точки).

C

Строка. Имеет длину и не требует точность.

Если создание базы данных успешно, то возвращает dbase_identifier(идентификатор базы данных), в противном случае возвращает false(ложь).

Пример 1. Создание dBase базы данных

// "database" имя

$dbname = "/tmp/test.dbf";

// определяем поля

$def =

    array(

        array("date",     "D"),

        array("name",     "C",  50),

        array("age",      "N",   3, 0),

        array("email",    "C", 128),

        array("ismember", "L")

    );

// создаем

if (!dbase_create($dbname, $def))

    print "<strong>Error!</strong>";

dbase_open

dbase_open -- открыть dBase базу данных

Описание

int dbase_open(string filename, int flags);

Параметр flags используется для системного вызова open(). (Обычно 0 только для чтения, 1 только для записи, и 2 для записи и чтения.)

Возвращает dbase_identifier(идентификатор базы данных) для открытой базы данных, или false(ложь) если база данных не была открыта.

Извлекать записи следует при помощи функций dbase_get_record() или dbase_get_record_with_names(). Первая возвращает обычный массив, вторая ассоциативный, где ключи - имена столбцов.

<?php   // Открываем созданный dbf-файл   $dbh = dbase_open("tbl.dbf",2)     or die("Ошибка - невозможно открыть '$db_name'");   // Читаем 5 запись в массив $arr   $arr = dbase_get_record($dbh, 5);   // Закрываем dbf-файл   dbase_close($dbh); ?>

Второй параметр функции dbase_open() означает режим доступа к файлу: 0 - только для чтения, 1 - только для записи, 2 - и для чтения и для записи.

dbase_close

dbase_close -- закрыть dBase базу данных

Описание

bool dbase_close(int dbase_identifier);

Закрыть базу данных, связанную с dbase_identifier.

dbase_pack

dbase_pack -- упаковывает dBase базу данных

Описание

bool dbase_pack(int dbase_identifier);

Упаковывает определенную базу данных (удаляет все записи, помеченные для удаления с помощью dbase_delete_record().

dbase_add_record

dbase_add_record -- добавляет запись в dBase базу данных

Описание

bool dbase_add_record(int dbase_identifier, array record);

Добавляет данные из record в базу данных. Если количество полей в заданном record не идентично количеству полей в базе данных, то операция будет прервана и будет возвращено false(ложь).

1. if (!dbase_add_record($dbid, array($rec[1],$rec[2])))

echo "Failed to add a record. ";

2.$dbh = dbase_open("out.dbf",2)     or die("Ошибка - невозможно открыть '$db_name'");        $record =       array(         $table['data'],         $table['numer'],           $table['podrazd'],         $table['uchastok'],         $table['mehanizm'],         $table['kol_vo'],           $table['usl_podr'],         $table['usl_uch']       );     if(!dbase_add_record($dbh,$record))     {       echo "Ошибка при добавлении записи в dbf";       exit();     }      dbase_close($dbh);

3.

$bd = dbase_open ("C:\\Apache2\\htdocs\\BD\\2004_Zl_SP1.DBF", 2);

$arr_to_bd[0] = $_GET['index'];

$arr_to_bd[1] = convert_cyr_string ($_GET['name'], w, a);

$arr_to_bd[2] = $_GET['amount'];

$arr_to_bd[3] = $_GET['01'];

$arr_to_bd[4] = $_GET['02'];

$arr_to_bd[5] = $_GET['03'];

$arr_to_bd[6] = $_GET['04'];

$arr_to_bd[7] = $_GET['05'];

$arr_to_bd[8] = $_GET['06'];

$arr_to_bd[9] = $_GET['07'];

$arr_to_bd[10] = $_GET['08'];

$arr_to_bd[11] = $_GET['09'];

$arr_to_bd[12] = $_GET['10'];

$arr_to_bd[13] = $_GET['11'];

$arr_to_bd[14] = $_GET['12'];

$arr_to_bd[15] = $_GET['smsp'];

$arr_to_bd[16] = $_GET['month'];

$arr_to_bd[17] = $_GET['year'];

//$records_counter = dbase_numrecords( $bd);

dbase_add_record ($bd, $arr_to_bd);

//dbase_replace_record ($bd, $arr_to_bd, $records_counter);

dbase_delete_record

dbase_delete_record -- удалить запись из dBase базы данных