Вход

База данных в WEB

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 86035
Дата создания 2015
Страниц 36
Источников 10
Мы сможем обработать ваш заказ (!) 23 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 360руб.
КУПИТЬ

Содержание

Содержание
ВВЕДЕНИЕ 3
Физическая структура программы 4
Экспериментальная часть 10
Тестирование приложения 12
Код программы 14
Руководство пользователя 31
Заключение 35
Список литературы 36

Фрагмент работы для ознакомления

Запись не изменена.";else{$stm = $pdo->prepare ("UPDATE post SET name_post = :name WHERE id_post=:id;");$stm->bindParam (':name', $name);$stm->bindParam (':id', $id);$stm->execute();$user_message="Запись с ключем ".$id." изменена.";}}}$sql = "SELECT count(*) FROM post;";$stm = $pdo->prepare($sql);$stm->execute();$count = $stm->fetchAll();$count = $count[0]["count(*)"];$count_one=10;$page=1;if($_GET['page']!=NULL)//еслиуказана, какаястраница$page=$_GET['page'];$page = ($page-1)*$count_one;$sql = "SELECT post.id_post as id, post.name_post as name FROM postORDER BY nameLIMIT ".$page.",".$count_one.";";$stm = $pdo->prepare($sql);$stm->execute();$pols = $stm->fetchAll();$page=$page/$count_one+1;echo "<br>".$user_message."<br><br>";?><form method="post"><table class="head" ><tr><td> № </td><td> Ключ в<br>системе </td><td> Название </td><td> Действия </td></tr><?php$i=1;foreach ($pols as $key => $post) {?><tr><td> <?php echo $i+($page-1)*$count_one;?> </td><td> <?php echo $post['id'];?> </td><td> <input name="<?php echo $post['id'];?>" id="<?php echo $post['id'];?>" value="<?php echo $post['name']?>" maxlength="100" size=50px/> </td><td><a href="#" onclick="confirm_upd('<?php echo $i+($page-1)*$count_one;?>','/clothing/posts.php?page=<?php echo $page; ?>&action=update_data&id=<?php echo $post['id'];?>','<?php echo $post['id'];?>')" class="update" title="Сохранить изменения"></a><a href="#" onclick="confirm_del('<?php echo $i+($page-1)*$count_one;?>','/clothing/posts.php?page=<?php echo $page; ?>&action=delete_data&id=<?php echo $post['id'];?>')"class="remove" title="Удалить"></a><a href="/clothing/posts.php?page=<?php echo $page; ?>" class="refresh" title="Обновить страницу"></a></td></tr><?php$i=$i+1;}?><tr><td> <?php echo $i+($page-1)*$count_one;?> </td><td> </td><td> <input name="name_add" id="name" value="" maxlength="100" size=50px/> </td><td> <input name="submit" type="submit" value="Добавить" /> </td></tr><tr><td colspan="4"><?php $name_page="posts"; require_once("count.php");?></td></tr></table></form></div></div></body></html><?php require_once("jscript.php");?>SESSION.PHP<?phpsession_start();if (array_key_exists ("login_b", $_POST)){require_once("pdo.php");$log= htmlspecialchars($_POST["login"]);$pass= htmlspecialchars($_POST["pass"]);$adm="admin";$stm = $pdo->prepare ("SELECT * FROM worker WHERE fio_worker= :lo_ad AND pass = :ps_ad AND fio_worker= :adm LIMIT 1");$stm->bindParam (':lo_ad', $log);$stm->bindParam (':ps_ad', $pass); $stm->bindParam (':adm', $adm);$stm->execute();$pols = $stm->fetch();if($pols){$_SESSION ['user'] = "admin";}if($_SESSION ['user']==NULL){echo "<scripttype='text/javascript'> alert('Пользовательненайден. Входневыполнен.') </script>";}}elseif (array_key_exists ("ch_password", $_POST)){require_once("pdo.php");$pass_old= htmlspecialchars($_POST["pass_old"]);$pass_new= htmlspecialchars($_POST["pass_new"]);$adm="admin";$stm = $pdo->prepare ("SELECT * FROM worker WHERE pass = :pass_old AND fio_worker= :adm LIMIT 1");$stm->bindParam (':pass_old', $pass_old); $stm->bindParam (':adm', $adm);$stm->execute();$pols = $stm->fetch();if($pols){$stm = $pdo->prepare ("UPDATE worker SET pass = :pass_new WHERE fio_worker=:adm;");$stm->bindParam (':pass_new', $pass_new);$stm->bindParam (':adm', $adm);$stm->execute();echo "<script type='text/javascript'> alert('Пароль изменен.') </script>";}else{echo "<script type='text/javascript'> alert('Введен неверный текущий пароль. Изменение не выполнено.') </script>";}}elseif (array_key_exists ("logout_b", $_POST)){if($_SESSION ['user']!=NULL){session_destroy();echo "<script type='text/javascript'> alert('До свидяния!'); location.reload(); </script>";}}?>WORKERS.PHP<?php require_once("session.php");?><?phpif($_SESSION ['user']!="admin")header("Location: /clothing/main.php"); ?><html><?php require_once("head.php");?><body><?php require_once("Module1.php");?><div class="layout"> <div class="nav"><?php require_once("Module2.php");?><?php require_once("Module3.php");?></div><div class="content" padding: 5px;><p align="right"><big>Сотрудники организации</big></p><?phprequire_once("pdo.php");$user_message="";if (array_key_exists ("submit", $_POST)){$add_fio= htmlspecialchars($_POST["add_fio"]);$add_fk_p= htmlspecialchars($_POST["add_fk_p"]);$add_fk_d= htmlspecialchars($_POST["add_fk_d"]);if(mb_strlen($add_fio)<1 or mb_strlen($add_fio)>100)$user_message="ФИО должно содержать от 1 до 100 символов. Сотрудник не добавлен.";else{$stm = $pdo->prepare ("SELECT * FROM worker WHERE fio_worker=:add_fio;");$stm->bindParam (':add_fio', $add_fio);$stm->execute();if($stm->rowCount()>0)$user_message="Такой сотрудник уже существует. Сотрудник не добавлена.";else{$stm = $pdo->prepare ("INSERT INTO worker (fio_worker, fk_post, fk_department) VALUES (:add_fio, :add_fk_p, :add_fk_d);");$stm->bindParam (':add_fio', $add_fio);$stm->bindParam (':add_fk_p', $add_fk_p);$stm->bindParam (':add_fk_d', $add_fk_d);$stm->execute();$user_message="Сотрудник добавлен.";}}}elseif ($_GET['action']=="delete_data"){$id=$_GET['id'];$stm = $pdo->prepare ("DELETE FROM worker WHERE id_worker=:id;");$stm->bindParam (':id', $id);$stm->execute();$user_message="Сотрудник с ключем ".$id." удален.";}elseif ($_GET['action']=="update_data"){$id=$_GET['id'];$fio=$_GET['fio'];$fk_p=$_GET['fk_p'];$fk_d=$_GET['fk_d'];$stm = $pdo->prepare ("UPDATE worker SET fio_worker = :fio, fk_post= :fk_p, fk_department=:fk_d WHERE id_worker=:id;");$stm->bindParam (':fio', $fio);$stm->bindParam (':fk_p', $fk_p);$stm->bindParam (':fk_d', $fk_d);$stm->bindParam (':id', $id);$stm->execute();$user_message="Сотрудник с ключем ".$id." изменен.";}$stm = $pdo->prepare("SELECT * FROM post order by name_post;");$stm->execute();$spisok_post = $stm->fetchAll();$stm = $pdo->prepare("SELECT * FROM department order by name_department;");$stm->execute();$spisok_department = $stm->fetchAll();$fio="admin";$sql = "SELECT count(*) FROM worker WHERE worker.fio_worker!=:fio;";$stm = $pdo->prepare($sql);$stm->bindParam (':fio', $fio);$stm->execute();$count = $stm->fetchAll();$count = $count[0]["count(*)"];$count_one=10;$page=1;if($_GET['page']!=NULL)//если указана, какая страница$page=$_GET['page'];$page = ($page-1)*$count_one;$sql = "SELECT worker.id_worker as id, worker.fio_worker as fio,worker.fk_post as fk_p,worker.fk_department as fk_dFROM workerWHERE worker.fio_worker!=:fioORDER BY fioLIMIT ".$page.",".$count_one.";";$stm = $pdo->prepare($sql);$stm->bindParam (':fio', $fio);$stm->execute();$pols = $stm->fetchAll();$page=$page/$count_one+1;echo "<br>".$user_message."<br><br>";?><form method="post"><table class="head" ><tr><td> № </td><td> Сотрудник </td><td> Отдел </td><td> Должность </td><td> Действия </td></tr><?php$i=1;foreach ($pols as $key => $worker) {?><tr><td> <?php echo $i+($page-1)*$count_one;?> </td><td> <input name="<?php echo $worker['id'];?>" id="<?php echo $worker['id'];?>" value="<?php echo $worker['fio']?>" maxlength="100" /> </td><td><select name="spisok_department" id="<?php echo $worker['id'];?>_d"><?php foreach ($spisok_department as $key => $department) { ?><option value="<?php echo $department['id_department']; ?>" <?php if ($department['id_department']==$worker['fk_d']) {echo " selected='selected' ";} ?>> <?php echo $department['name_department']; ?> </option><?php }?></select></td><td><select name="spisok_post" id="<?php echo $worker['id'];?>_p"><?php foreach ($spisok_post as $key => $post) { ?><option value="<?php echo $post['id_post']; ?>" <?php if ($post['id_post']==$worker['fk_p']) {echo " selected='selected' ";} ?>> <?php echo $post['name_post']; ?> </option><?php }?></select></td><td><a href="#" onclick="confirm_upd('<?php echo $i+($page-1)*$count_one;?>','/clothing/workers.php?page=<?php echo $page; ?>&action=update_data&id=<?php echo $worker['id'];?>','<?php echo $worker['id'];?>')" class="update" title="Изменить Сотрудника"></a><a href="#" onclick="confirm_del('<?php echo $i+($page-1)*$count_one;?>','/clothing/workers.php?page=<?php echo $page; ?>&action=delete_data&id=<?php echo $worker['id'];?>')"class="remove" title="Удалить Сотрудника"></a><a href="/clothing/workers.php?page=<?php echo $page; ?>" class="refresh" title="Обновить страницу"></a></td></tr><?php$i=$i+1;}?><tr><td> <?php echo $i+($page-1)*$count_one;?> </td><td> <input name="add_fio" id="add_fio" value="" maxlength="100" /> </td><td> <select name="add_fk_d" id="add_fk_d"><?php foreach ($spisok_department as $key => $department) { ?><option value="<?php echo $department['id_department']; ?>"> <?php echo $department['name_department']; ?> </option><?php }?></select></td><td> <select name="add_fk_p" id="add_fk_p"><?php foreach ($spisok_post as $key => $post) { ?><option value="<?php echo $post['id_post']; ?>"> <?php echo $post['name_post']; ?> </option><?php }?></select></td><td> <input name="submit" type="submit" value="Добавить" /> </td></tr><td colspan="5"><?php $name_page="workers"; require_once("count.php");?></td></tr></table></form></div></div></body></html><script language="JavaScript"> function confirm_del(id, backurl) { varanswer = confirm("Вы действительно хотите удалить сотрудника № "+id+"?");if (answer){window.location = backurl;} }function confirm_upd(id_, backurl, id) { varanswer = confirm("Вы действительно хотите изменить сотрудника № "+id_+"?");if (answer){ backurl=backurl+"&fio="+document.getElementById(id).value+"&fk_p="+document.getElementById(id+"_p").value+"&fk_d="+document.getElementById(id+"_d").value; window.location = backurl;} }</script>Руководство пользователяНа рисунке 14 представлен сервис в неавторизованном режиме. Для авторизации используется пользователь «admin» с паролем по умолчанию «123».Рисунок 14 Сервис в неавторизованном режимеНа рисунке 15 представлена страница «Журнал выдачи спецодежды» сервиса, которая открывается после авторизации. Для каждой позиции на страницах сервиса доступны операции удаления, изменения и добавления.Рисунок 15 Страница «Журнал выдачи спецодежды» сервисаНа каждой авторизованной странице доступно общая навигация и механизм изменения пароля администратора системы. На рисунке 16 представлена страница отчета остатков спецодежды. Красным цветом выделяются позиции, которые отражают отрицательные остатки.Рисунок 16 Страница «Отчет остатков» сервисаНа рисунке 17 представлена страница справочника должностей сотрудников.Рисунок 17 Страница «Должности» сервисаНа рисунке 18 представлена страница справочника отделов предприятия.Рисунок 18 Страница «Отделы» сервисаНа рисунке 19 представлена страница справочника приобретенной спецодежды.Рисунок 19 Страница «Спецодежда» сервисаНа рисунке 20 представлена страница справочника сотрудников предприятия.Рисунок 20 Страница «Сотрудники» сервисаЗаключениеТаким образом, в результате курсовой работы произведено изучения некоторых аспектов использования предприятием спецодежды. В частности, автоматизирован учет выдачи такой одежды сотрудникам предприятия для качественного исполнения ими своих должностных обязанностей.Проект реализован на современных технологиях web-проектирования. В качестве системы управления базой данных использован MySQL. Основным языком написания серверной части приложения является язык PHP. Серверная часть программы организуется web-сервером под управлением Apache. Клиентская составляющая сервиса доступна с любых устройств, поддерживаемых работу современных web-браузеров.Разработанныйсервис позволяет получать доступ к данным, используя аутентификацию пользователя посредством логина и пароля.Необходимо отметить, что, несмотря на небольшой размер приложения, данный сервис может быть использован в промышленных целях на реальных предприятиях, использующих спецодежду для своих сотрудников.Список литературыАстахова А.В. Проектирование систем информации и управления: Учебник. − Барнаул / Алтайский государственный технический университет им. И.И. Ползунова, 2011. − 154 с.БейлиЛинн, Моррисон Майкл, Изучаем PHP и MySQL − М.: Эксмо, 2010. −768с.Гвоздева Т.В. Проектирование информационных систем: учеб.пособие / Т.В. Гвоздева, Б.А. Баллод. – Ростов н/Д: Феникс, 2009. –508 с.Зандстра М., PHP: объекты, шаблоны и методики программирования, 3-е издание − М.: «Вильямс», 2010. −560 с.Голицына О.Л. Информационные системы: учеб.пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. – М.: ФОРУМ: ИНФРА-М, 2007. – 496с.Дейт К. Дж. Введение в системы баз данных, 6-е издание / К. Дж. Дейт – К.; М.; СПб.: Издательский дом «Вильямс», 2008. – 848 с.Дженнифер Нидерст Роббинс, HTML5, CSS3 и JavaScript. Исчерпывающее руководство, − М.: Эксмо, 2014. −528с.Душин В.К. Теоретические основы информационных процессов и систем: Учебник / В.К. Душин. – М.: Издательско-торговая корпорация «Дашков и Ко», 2006. – 348 с.Ипатова Э.Р., Ипатов Ю.В. Методологии и технологии системного проектирования информационных систем / Э.Р. Ипатова, Ю.В. Ипатов – М.: МПСИ, 2008.Карпова Т.С. Базы данных: модели, разработка, реализация / Т.С. Карпова СПб.: Питер, 2008. 304 с.

Список литературы [ всего 10]

Список литературы
1. Астахова А.В. Проектирование систем информации и управления: Учебник. − Барнаул / Алтайский государственный технический университет им. И.И. Ползунова, 2011. − 154 с.
2. Бейли Линн, Моррисон Майкл, Изучаем PHP и MySQL − М.: Эксмо, 2010. −768с.
3. Гвоздева Т.В. Проектирование информационных систем: учеб. пособие / Т.В. Гвоздева, Б.А. Баллод. – Ростов н/Д: Феникс, 2009. –508 с.
4. Зандстра М., PHP: объекты, шаблоны и методики программирования, 3-е издание − М.: «Вильямс», 2010. −560 с.
5. Голицына О.Л. Информационные системы: учеб. пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. – М.: ФОРУМ: ИНФРА-М, 2007. – 496с.
6. Дейт К. Дж. Введение в системы баз данных, 6-е издание / К. Дж. Дейт – К.; М.; СПб.: Издательский дом «Вильямс», 2008. – 848 с.
7. Дженнифер Нидерст Роббинс, HTML5, CSS3 и JavaScript. Исчерпывающее руководство, − М.: Эксмо, 2014. −528с.
8. Душин В.К. Теоретические основы информационных процессов и систем: Учебник / В.К. Душин. – М.: Издательско-торговая корпорация «Дашков и Ко», 2006. – 348 с.
9. Ипатова Э.Р., Ипатов Ю.В. Методологии и технологии системного проектирования информационных систем / Э.Р. Ипатова, Ю.В. Ипатов – М.: МПСИ, 2008.
10. Карпова Т.С. Базы данных: модели, разработка, реализация / Т.С. Карпова  СПб.: Питер, 2008.  304 с.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.0047
© Рефератбанк, 2002 - 2024