Смекни!
smekni.com

Разработка модуля сайта преподавателя по дисциплине Интернет-технологии (стр. 14 из 30)

2.7.2 Файловая структура веб-сайта

Все файлы приложения размещаются в корневом каталоге сайта. Проект содержит несколько подкаталогов:

InternetTechnology, хранит файлы подразделов дисциплин;

images, хранит все файлы изображений, используемые в приложении;

smiles, хранит смайлики для чата и гостевой книги.

В корневом каталоге хранятся файлы, описанные в таблице 2.13.


Таблица 2.13- Описание файловой структуры приложения

№ п/п

Название файла

Назначение файла

1

Admchat. php

Страница администрирования чата

2

Admexam. php

Страница администрирования экзаменатора. Удаление предметов или вопросов

3

Adminguest. php

Страница администрирования гостевой книги

4

AdminInternetTechnology. php

Главная страница администратора. Связана со страницами администрирования: admchat. php, admexam. php, adminguest. php, input. php, students. php

5

Adminpass. php

Вход на страницу администратора

6

All. php

Файл связи со всеми файлами функций

7

BaseFunctions. php

Основные функции

8

Chat. php

Страница чата

9

Exam. php

Страница тестирования

10

FuncChat. php

Функции для страницы чата

11

FuncExam. php

Функции для страницы тестирования

12

FuncGuest. php

Функции для гостевой книги

13

Gb. php

Модуль гостевой книги

14

Input. php

Страница ввода новых дисциплин и вопросов. Доступна только администратору

15

InternetTechnology. php

Главная страница модуля Интернет технологии

16

LeftAdmin. php

Левая часть страницы администрирования

17

Login. php

Модуль входа в систему по Нику и паролю

18

Postmodule. php

Модуль, использующийся в гостевой книге и чате для посылки сообщений

19

RegisterUser. php

Модуль первоначальной регистрации

20

Rtf1. php

Модуль производящий сертификат

21

Rtfs. php

Модуль производящий список студентов прошедших тестирование

22

Score. php

Станица результатов тестирования

23

StartSession. php

Модуль обработки результатов регистрации

24

Store. php

Модуль записи вопросов тестирования

25

Students. php

Страница результатов тестирования. Доступна только администратору

26

Shop. php

Модуль интернет - магазина

27

Shopping. php

Модуль регистрации заказчика

28

Rtfshop. php

Модуль печати заказов в Word

29

Admshop. php

Администрирование интернет - магазина

30

Funcshop. php

Функции интернет - магазина

31

Styles. css

Подключаемый модуль таблицы стилей

2.7.3 Вход в систему MySQL

Для входа в систему MySQL в интерфейс командной строки на своей машине и наберите следующее:

> mysql. exe - h localhost - u root

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

Команда mysql запускает монитор MySQL. Это клиент командной строки, который выполняет соединение с сервером MySQL.

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

Ключ - u используется для указания имени пользователя, под которым требуется осуществить соединение.

(Если этого не произошло, убедитесь в том, что MySQL-сервер запущен и где-то в. вашем пути присутствует команда mysql) Необходимо ввести пароль.

2.7.4 Создание таблиц базы данных

Система баз данных MySQL может поддерживать множество различных баз данных. Обычно на одно приложение будет существовать одна база данных.

Для создания базы данных (itn) используют подключаемый файл “create_itn. sql”. Для этого нужно ввести команду:

Mysql>\. create_itn. sql f: \create_itn. sql

как показано на рисунке 2.14


Рисунок 2.14 - создание таблиц с помощью sql-файла

где f: \create_itn. sql - имя и путь к файлу.

Текст файла - “create_itn. sql “ приведен ниже.

create database itn; // Создать базу данных под названием “itn”

use itn; // использовать базу данных ”itn”

create table chatmessages // Создать таблицу “chatmessages”

( // Сообщения чата

idchmes int unsigned not null auto_increment primary key,

idstudc int not null, // id студента

message char(150) not null, // сообщение чата

ip char(15), // IP - адрес

time datetime not null // дата записи сообщения

);

create table guests // Создать таблицу “guests”

( // гостевая книга

idguest int unsigned not null auto_increment primary key,

idstudg int not null, // id студента

message char(150) not null, // сообщение

ip char(15), // IP - адрес

page char(30) not null, // страница гостевой книги

time datetime not null // дата записи

);

create table subjects // Создать таблицу “subjects”

( // Предметы для тестирования

idsub int unsigned not null auto_increment primary key,

subject char(30) not null // предмет

);

create table questions // Создать таблицу “questions”

( // вопросы для тестирования

idques int unsigned not null auto_increment primary key,

idsubq int not null, // родительский предмет

quesmes char(150) not null // вопрос

);

create table answers // Создать таблицу “answers”

( // ответы для тестирования

idans int unsigned not null auto_increment primary key,

parent int not null, // id - вопроса

ansmes char(150) not null, // ответ

rightanswer int default 0 not null // правильный ответ = 1

);

create table students // Создать таблицу “students”

( // Студенты прошедшие тест

idstud int not null primary key, // шифр

name char(20) not null, // имя

secondname char(20) not null, // фамилия

faculty char(20) not null, // факультет

email char(20) not null, // e-mail

login char(20) not null, // login входа в систему

password char(20) not null, // пароль

lastdate datetime not null // Дата последнего входа в систему

};

create table results

{

idres int not null auto_increment primary key,

idstudr int not null, // id - студента

idsubr int not null, // id - предмета

posted datetime not null, // дата сдачи

score int not null, // результат

count tinyint(4) not null, // IP - количество попыток

);

create table ips // Создать таблицу “ips”

( // запрещенных IP - адресов

idip int unsigned not null auto_increment primary key,

ip char(15) not null, // IP - адрес

sub char(20) not null // станица(гостевая книга или чат)

);

create table bals // Создать таблицу “bals”

( // баллы для тестирования

bal int not null, // бал

percent int not null // проценты

);

create table cd

(

idc int unsigned not null auto_increment primary key,

title char(50) not null,

description char(150),

price float not null

);

create table zakaz

(

idz int unsigned not null auto_increment primary key,

idclienta int not null,

idcd int not null,

count tinyint default 0 not null,

recdate datetime not null,

flag_done enum('y', 'n') DEFAULT 'n' NOT NULL

);

create table shopclients

(

idclient int unsigned not null auto_increment primary key,

name char(10) not null,

sname char(15) not null,

email char(30) not null,

address text not null,

fhone char(15),

lastdate datetime not null

);

grant select, insert, update, delete // определение прав пользователя

on itn. *

to itn@localhost identified by 'password';

Таблица 2.14 - Используемые типы данных

№ п/п Тип данных Описание
1 int Целое число. В MySQL тип данных int может быть со знаком или без знака
2 tinyint Очень маленькие целые числа
3 char(длина) Символьная величина фиксированной длины. Поля типа char не могут содержать строки длины большей, чем указанное значение. Поля меньшей длины дополняются пробелами
4 date Стандартное значение даты. Формат хранения даты по умолчанию ‘yyyy-mm-dd’
5 text Символьная величина переменной длины
6 enum(‘знач1’, …, ‘значN’) Перечисляемый тип

Что означают другие ключевые слова

NOT NULL означает, что все строки таблицы должны иметь значение в этом атрибуте. Если NOT NULL не указано, поле может быть пустым (NULL).

AUTO_INCREMENT - специальная возможность MySQL, которую можно задействовать в числовых столбцах. Если при вставке строк в таблицу оставлять такое поле пустым, MySQL автоматически генерирует уникальное значение идентификатора. Это значение будет на единицу больше максимального значения, уже существующего в столбце. В каждой таблице может быть не больше одного такого поля. Столбцы с AUTO_INCREMENT должны быть проиндексированными.