- Клиент-серверное приложение «Электронный дневник»
- Разработка веб-приложения, реализующего функции электронного дневника. Возможность для клиента регистрироваться, смотреть расписание, вести электронный дневник. Сохранение сервером полученных данных в базу на основе MySQL. Описание работы программы.
- Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
- Введение
- Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
- автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
- взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);
- автоматизированная отправка HTTP-заголовков;
- работа с HTTP-авторизацией;
- работа с cookies и сессиями;
- Saved searches
- Use saved searches to filter your results more quickly
- Nsity/eschool
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- e-Diary Management System using PHP and MySQL
- H Создание личной записной книжки на php/mysql с шифрование в черновиках Из песочницы
Клиент-серверное приложение «Электронный дневник»
Разработка веб-приложения, реализующего функции электронного дневника. Возможность для клиента регистрироваться, смотреть расписание, вести электронный дневник. Сохранение сервером полученных данных в базу на основе MySQL. Описание работы программы.
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Техническое задание
Разработать веб-приложение, реализующее функции электронного дневника. Клиент имеет возможность регистрироваться, смотреть расписание, электронный дневник. Администратор в лице учителя может изменять удалять, добавлять название предметов, изменять расписание, делать записи в электронном дневнике. Сервер сохраняет полученные данные в базу данных на основе MySQL.
Содержание
- Введение
- 1. Описание работы программы
- 1.1 Описание работы клиентской части
- 1.2 Описание работы серверной части
- 2. Описание файлов
- Заключение
- Список используемой литературы
- Приложения
Программа представляет собой сайт, построенный на Php, скрипт-языке, встраиваемом в HTML, который интерпретируется и выполняется на сервере.
Клиент имеет возможность смотреть расписание и электронный дневник. Для того, что бы появилась возможность просмотра электронного дневника, необходимо зарегистрироваться, а после пройти аутентификацию на сайте. Так же есть определенная категория пользователей — администраторы, которые через интерфейс админа могут удалять/добавлять названия уроков, редактировать расписание, делать записи в электронном дневнике.
Сервер заносит все данные в базу, построенную с помощью MySQL.
Введение
В области программирования для сети Интернет PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.net) благодаря своей простоте, скорости выполнения, богатой функциональности, кросс-платформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);
автоматизированная отправка HTTP-заголовков;
работа с HTTP-авторизацией;
работа с cookies и сессиями;
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Веб-приложение «Электронный дневник учащегося»
Nsity/eschool
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Информационная система «Электронный дневник и журнал»
- Создать базу MySQL eschool
- Выполнить скрипт (script.sql)
- Добавить в таблицу role роли
INSERT INTO `role` VALUES (1,'Классный руководитель'),(2,'Администратор'),(3,'Учитель'),(4,'Учащийся');
INSERT INTO `teacher` VALUES (1,'admin','12345','827ccb0eea8a706c4c34a16891f84e7b',2,'Администратор',1);
INSERT INTO `dayofweek` VALUES (1,'Понедельник'),(2,'Вторник'),(3,'Среда'),(4,'Четверг'),(5,'Пятница'),(6,'Суббота');
INSERT INTO `time` VALUES (1,'08:30:00','09:15:00'),(2,'09:30:00','10:15:00'),(3,'10:25:00','11:10:00'),(4,'11:25:00','12:10:00'),(5,'12:30:00','13:15:00'),(6,'13:25:00','14:10:00'),(7,'14:15:00','15:00:00'),(8,'15:05:00','15:50:00');
- Разместить проект на сервере
- В файле application/config/database.php прописать подключение к базе данных
- В файле application/config/config.php настроить $config[‘base_url’]
About
Веб-приложение «Электронный дневник учащегося»
e-Diary Management System using PHP and MySQL
e-Diary Management Project is a web-based application using PHP and MySQL. Users can register and create, categories, and notes.
Project Requirements
Project Name | e-Diary Management System Project |
---|---|
Language Used | PHP5.6, PHP7.x |
Database | MySQL 5.x |
User Interface Design | HTML, AJAX,JQUERY,JAVASCRIPT |
Web Browser | Mozilla, Google Chrome, IE8, OPERA |
Software | XAMPP / Wamp / Mamp/ Lamp (anyone) |
Project Modules
In this project, we used PHP and MySQL database. It has one module i.e user
User Module
Users can register with valid details. After registration user will be able to log in with a registered email id/mobile no and password.
- Dashboard: In this section, the user can briefly view information about categories, and notes, and also view 5 latest notes.
- Category: In this section, user can mange Category(Add/Update/Delete).
- Notes: In this section, the user can add, view, and delete the note. User can also update the note history.
- Change Password: In this section, User can change their own login password.
- My Profile: In this section, the user can update their own profile.
- Search: In this section, users can search for the note by entering the title.
- Usercan also recovers their own password.
Project Output Screens
User Registration
User Dashboard
How to run the e-Diary Management System Project using PHP and MySQL
1. Download the project zip file
2. Extract the file and copy edms folder
3.Paste inside root directory(for xampp xampp/htdocs, for wamp wamp/www, for lamp var/www/Html)
4.Open PHPMyAdmin (http://localhost/phpmyadmin)
5. Create a database with the name edmsdb
6. Import edmsdb.sql file(given inside the zip package in the SQL file folder)
7. Run the script http://localhost/edms
User Credential
Username: johndoe@gmail.com or 1221121212
Password: Test@123
H Создание личной записной книжки на php/mysql с шифрование в черновиках Из песочницы
Существует много положительных факторов ведения личного дневника, но не всегда там написано то, что нужно читать всем желающим, поэтому я решил сделать велосипед личный дневник (записную книжку) на php и mysql с использованием шифрования данных. Публикация рассчитана для начинающих php-программистов, так как опытные люди это всё знают и сделают всё это ещё лучше меня.
Основное преимущество этой записной книжки — это хранение данных в зашифрованном виде, а ключ знаете только вы. Поэтому, если злоумышленник украдёт вашу базу данных, это максимум что он увидит:
Личный дневник использует два внешних php класса:
CREATE TABLE `notest` ( `id` int(255) NOT NULL, `text` text NOT NULL, `date_d` text NOT NULL, `date_m` text NOT NULL, `date_t` text NOT NULL, `date_cat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Ключ, который использует система хранится в переменной $_SESSION[‘key’]. Проверяем её состояние, спрашиваем у пользователя ключ, если этой переменной нет:
// Если не существует переменная ключа if (!isset($_SESSION['key'])) < $keyw = ' '; > // Иначе, если существует else < $keyw = ''; > // Если отправлена форма сохранения ключа if (isset($_POST["key"]))
Когда пользователь закончил работу, делаем unset:
if ((isset($_GET['action'])) && ($_GET['action'] == 'delkey'))
По умолчанию выводится кол-во записей, указанной в настройках, но есть вариант отображения записей по месяцам. Для этого надо получить список всех месяцев, в которых были записи:
$db = new SafeMySQL($set_bd); $option = $db->getAll("SELECT DISTINCT `date_cat` FROM `notes`"); foreach ($option as $value) < $desc_opt = explode("-", $value['date_cat']); echo ''; >
function num2name($num) < switch ($num) < case '01': $name = "январь"; break; case '02': $name = "февраль"; break; case '03': $name = "март"; break; case '04': $name = "апрель"; break; case '05': $name = "май"; break; case '06': $name = "июнь"; break; case '07': $name = "июль"; break; case '08': $name = "август"; break; case '09': $name = "сентябрь"; break; case '10': $name = "октябрь"; break; case '11': $name = "ноябрь"; break; case '12': $name = "декабрь"; break; default: $name = ""; break; >return $name; >
В зависимости от наличия запроса на вывод записей определённого месяца, выводим записи дневника:
// Если отправлен запрос на конкретный месяц if (isset($_GET["date"])) < $cur_date = $_GET["date"]; $db = new SafeMySQL($set_bd); $data = $db->getAll("SELECT * FROM `notes` WHERE `date_cat` = ?s ORDER BY `id` DESC", $cur_date); foreach ($data as $key) < // Декодируем текст $xtea = new XTEA($_SESSION['key']); $text_decode = $xtea->Decrypt($key["text"]); // Выводим записи echo ' '.num2name($key["date_m"]).' '.$key["date_d"].' '.$key["date_t"].' '.$text_decode.' '; > > // Если нет запроса на определённый месяц, выводим последние $set_col записей else < $db = new SafeMySQL($set_bd); $data = $db->getAll("SELECT * FROM `notes` ORDER BY `id` DESC LIMIT ?i", $set_col); foreach ($data as $key) < // Декодируем текст $xtea = new XTEA($_SESSION['key']); $text_decode = $xtea->Decrypt($key["text"]); // Выводим записи echo ' '.num2name($key["date_m"]).' '.$key["date_d"].' '.$key["date_t"].' '.$text_decode.' '; > >
Добавление новой записи происходит через простую форму:
Которая обрабатывается таким кодом:
if (isset($_POST["text"])) < // Получение данных в переменные $text = nl2br($_POST["text"]); // Шифрование текста $xtea = new XTEA($_SESSION['key']); $text = $xtea->Encrypt($text); $date_d = date("d"); $date_m = date("m"); $date_t = date("Y"); $date_cat = date("n-Y"); // Отправка в базу данных $db = new SafeMySQL($set_bd); $sql = "INSERT INTO `notes` (`text`, `date_d`, `date_m`, `date_t`, `date_cat`) VALUES (?s, ?s, ?s, ?s, ?s)"; $db->query($sql, $text, $date_d, $date_m, $date_t, $date_cat); >
Для использования на открытом сервере необходимо закрывать доступ к каталогу со скриптом, так как он написан для домашнего закрытого сервера и у него нет встроенной авторизации.
'; > // Иначе, если существует else < $keyw = ''; > // Если отправлена форма сохранения ключа if (isset($_POST["key"])) < $_SESSION['key'] = $_POST["key"]; header("Location: index.php"); exit(); >if ((isset($_GET['action'])) && ($_GET['action'] == 'delkey')) < unset($_SESSION['key']); header("Location: index.php"); exit(); >// если отправлена форма добавления записи if (isset($_POST["text"])) < $text = nl2br($_POST["text"]); $xtea = new XTEA($_SESSION['key']); $text = $xtea->Encrypt($text); $date_d = date("d"); $date_m = date("m"); $date_t = date("Y"); $date_cat = date("n-Y"); $db = new SafeMySQL($set_bd); $sql = "INSERT INTO `notes` (`text`, `date_d`, `date_m`, `date_t`, `date_cat`) VALUES (?s, ?s, ?s, ?s, ?s)"; $db->query($sql, $text, $date_d, $date_m, $date_t, $date_cat); > // Функия перевода номера месяца в его название function num2name($num) < switch ($num) < case '01': $name = "январь"; break; case '02': $name = "февраль"; break; case '03': $name = "март"; break; case '04': $name = "апрель"; break; case '05': $name = "май"; break; case '06': $name = "июнь"; break; case '07': $name = "июль"; break; case '08': $name = "август"; break; case '09': $name = "сентябрь"; break; case '10': $name = "октябрь"; break; case '11': $name = "ноябрь"; break; case '12': $name = "декабрь"; break; default: $name = ""; break; >return $name; > ?> getAll("SELECT * FROM `notes` WHERE `date_cat` = ?s ORDER BY `id` DESC", $cur_date); foreach ($data as $key) < // Декодируем текст $xtea = new XTEA($_SESSION['key']); $text_decode = $xtea->Decrypt($key["text"]); // Выводим записи echo ' '.num2name($key["date_m"]).' '.$key["date_d"].' '.$key["date_t"].' '.$text_decode.' '; > > // Если нет запроса на определённый месяц, выводим последние $set_col записей else < $db = new SafeMySQL($set_bd); $data = $db->getAll("SELECT * FROM `notes` ORDER BY `id` DESC LIMIT ?i", $set_col); foreach ($data as $key) < // Декодируем текст $xtea = new XTEA($_SESSION['key']); $text_decode = $xtea->Decrypt($key["text"]); // Выводим записи echo ' '.num2name($key["date_m"]).' '.$key["date_d"].' '.$key["date_t"].' '.$text_decode.' '; > > ?>