Отчет по курсовой работе по дисциплине Разработка клиентсерверных приложений
Скачать 197.55 Kb.
|
Министерство науки и высшего образования РФ ФГАОУ ВПО Национальный исследовательский технологический университет «МИСиС» Институт Информационных технологий и компьютерных наук (ИТКН) Кафедра Инфокоммуникационных технологий (ИКТ) Отчет по курсовой работе. по дисциплине «Разработка клиент-серверных приложений» на тему «Сохранение и отправка отзывов из формы на электронную почту» Выполнил: студент группы БИВТ-19-1 Дубовой В. А. Проверил: Стучилин В. В. Москва 2021 Цель работы Разработка клиент-серверного приложения согласно предоставленному заданию. Задание Вариант 21 Необходимо разработать скрипт, который принимает отзыв из формы (имя, содержание, дату), добавляет отзыв в базу данных и отправляет его на указанный в скрипте адрес электронной почты. Также нужно реализовать систему защиты с использованием ручного ввода содержимого графического изображения. Настройка сервера Для использование почтовых функций PHP, нужно настроить параметры SMTP в файлах php.ini и sendmail.ini. Также необходимо создать базу данных и таблицу, в которую будем записывать имя, дату и текст отзыва. Создадим таблицу feedback со столбцами id, name, date и text: Блок схемы скриптов captcha.php process.php Листинг программы index.html DOCTYPE html> Форма обратной связиcaptcha.php function get_symbols() { $chars = 'abcdefghjgkmnpqrstuvwxyz123456789'; $len = rand(5,8); $res=''; $lenchars=strlen($chars); for ($i=0; $i<$len; $i++) { $res .= substr($chars, rand(0, $lenchars-1), 1); } return $res; } function get_image(string $text) { header("Content-Type:image/png"); $im = imagecreate(150,50); $color = imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255)); $font_color = imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255)); imagestring($im, 20, rand(3,100), rand(3,30), $text, $font_color); imagepng($im); } $captcha = get_symbols(); session_start(); $_SESSION['captcha']=$captcha; get_image($captcha); ?> process.php DOCTYPE html> $result=''; $send_to='voseextreme@gmail.com'; session_start(); if (isset($_POST['name']) && isset($_POST['date']) && isset($_POST['text']) && isset($_POST['captcha']) && isset($_SESSION['captcha'])) { if ($_POST['captcha']==$_SESSION['captcha']) { $result .= "Проверка пройдена. "; $name=$_POST['name']; $date_rus=$_POST['date']; $date = date('Y-m-d', strtotime(str_replace('-', '/', $date_rus))); $text=$_POST['text']; $subject='Новый отзыв ' . $date_rus; $mailresp=mail($send_to, $subject, $_POST['text']); if ($mailresp==1) {$result .= "Письмо с отзывом было успешно отправлено на почту. ";} else {$result .= "Неизвестная ошибка отправки письма. ";} $link = mysqli_connect('localhost', 'root', '', 'kursa4'); $query="insert into feedbacks (name, date, text) values ('$name', '$date', '$text')"; $dbresp = mysqli_query($link, $query) or die(); if ($dbresp==1) {$result .= "Запись в БД прошла успешно. ";} else {$result .= "Ошибка записи в БД. ";} mysqli_close($link); } else { $result='Символы введены неверно! '; } } else { $result='Доступ запрещен'; } echo $result; ?> Примеры выполнения Проверка на заполнение полей формы: Ввод последовательности: В случае корректного заполнения формы: Полученная запись в БД Полученное письмо Вывод В ходе данной курсовой работы было разработано клиент-серверное приложение для получения отзывов из формы на сайте. Отзыв включает в себя имя клиента, дату и содержание отзыва. Для защиты от роботов реализована система защиты с использованием ручного ввода содержимого графического изображения. Полученный запрос обрабатывается сервером и записывает отзыв в базу данных, а также отправляет письмо с отзывом на указанную в скрипте электронную почту. |