Программирование на php

Приобретение навыков программирования на php, в том числе, в разработке классов. Изучение технологии получения и обработки данных из html-формы. Порядок создания файла index.html. Разметка главной страницы index.html на примере прохождения теста.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 11.01.2018
Размер файла 996,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ

по курсу: Программирование

«Программирование на php»

РАБОТУ ВЫПОЛНИЛА

СТУДЕНТКА ГР. №

подпись, дата инициалы, фамилия

Санкт-Петербург

2017

1 Цель работы: приобрести навыки программирования на php, в том числе, в разработке классов; изучить технологию получения и обработки данных из html-формы.

2 Выполнение работы:

В каталоге WebServers -> home создайте папку с названием web-проекта (латиница), например, «lab_1». Внутри папки «lab_1» создайте папку «www». В директории «www» будут храниться все рабочие файлы проекта (с расширением html, php, css и т.д.). По умолчанию при обращении к проекту запускается файл с названием index.php или index.html. В рамках выполнения лабораторной работы создайте файл index.html. На рисунке 1 показана структура проекта.

Рисунок 1 - Структура папки сайта

Рисунок 2 - Текстовые файлы

В папку «text» поместите текстовые файлы с оценками результатов тестирования (рисунок 2).

Выполним разметку главной страницы index.html. Для примера рассмотрим случай прохождения теста из 10 вопросов.

Текст index.html:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Обработка HTML формы</title>

</head>

<body>

<div align="left" valign="center" style="background: #7B68EE; width: 500px; height: 700 px;">

<form action="nphp.php" method="POST">

Укажите ваше имя и пол <br>

Имя: <input type="text" name="name1" /> <br>

<input type="radio" name="pol" value="m" /> Мужской<br>

<input type="radio" name="pol" value="g" /> Женский

<p style="">

Укажите перевод следующих слов

<ol>

<li>слово "Umbrella" переводится как</li>

<input type="radio" name="q1" value="a1">Зонт<br>

<input type="radio" name="q1" value="a2">Куб<br>

<input type="radio" name="q1" value="a3"> Платок

<li>введите перевод слова "Thunder":</li>

<input type="text" name="q2"><br>

<li>выберите правильный вариант перевода слова "Disenar"</li>

<input type="checkbox" name="q3" value="a1"> врач<br>

<input type="checkbox" name="q3" value="a2"> дизайнер<br>

<input type="checkbox" name="q3" value="a3"> садовод<br>

<li>введите перевод слова "Winter"</li>

<input type="text" name="q4"><br>

<li>"Rain" в переводе означает</li>

<select id="s1" name="q5">

<option value="a1">солнце</option>

<option value="a2">снег</option>

<option value="a3">дождь</option>

</select>

<li>"Happy" в переводе означает</li>

<select id="s2" name="q6">

<option value="a1">грустный</option>

<option value="a2">весёлый</option>

<option value="a3">солнечный</option>

</select>

<li> Что из перечисленого списка может быть зелёным? </li>

<input type="checkbox" name="q7" value="a1" />

grass<br />

<input type="checkbox" name="q7" value="a2" />

rain <br />

<input type="checkbox" name="q7" value="a3" />

sun <br />

<input type="checkbox" name="q7" value="a4" />

foliage <br />

<li> Что из перечисленого имеет 4 угла </li>

<input type="checkbox" name="q8" value="a1" />

square<br />

<input type="checkbox" name="q8" value="a2" />

pyramid <br />

<input type="checkbox" name="q8" value="a3" />

rectangle <br />

<li> Что из перечисленого не имеет углов ? </li>

<input type="checkbox" name="q9" value="a1" />

sphere<br />

<input type="checkbox" name="q9" value="a2" />

pyramid <br />

<input type="checkbox" name="q9" value="a3" />

circle<br />

<li>слово "Star" переводится как</li>

<input type="radio" name="q10" value="a1">Звезда<br>

<input type="radio" name="q10" value="a2">Куб<br>

<input type="radio" name="q10" value="a3"> Овал

</ol>

<input type="submit" value="Результат теста"></p>

Укажите где вы желаете сохранить результата теста:<br>

<input type="radio" name="q11" value="a1"> Отправить письмо на адрес <br>

<input type="radio" name="q11" value="a2"> Сохранить в файл <br>

Укажите адрес электронной почты <input type="text" name="mail"><br>

<input type="submit" value="Отправить или записать результат теста">

</form>

</div>

</body>

</html>

Разработаем скрипт nphp.php и new2.php, проверяющий полноту ввода ответов на вопросы и правильность выбора ответов из предложенных вариантов.

Текст nphp.php:

<?php

include_once("new2.php");

$F=new personal_date;

$F->persona($_POST["name1"],$_POST["pol"]); //Запуск функции persona

$F->counter($_POST["q1"],$_POST["q2"],$_POST["q3"],$_POST["q4"],$_POST["q5"],$_POST["q6"],$_POST["q7"],$_POST["q8"],$_POST["q9"]); //запуск функции counter

$F->Selection($_POST["q11"],$_POST["mail"]); //запуск функции Selection

echo $F->line; //вывод на страницу

/*echo $F->line;

;*/

?>

Текст new2.php:

<?php

class personal_date

{

public $name1 = '';

private $pol;

public $count = 0;

public $line = '';

public function translit()

{ //Используем ассоциативный массив «текстовый ключ» => «значение»

$tr = array("А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",

"Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I",

"Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",

"О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",

"У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",

"Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"",

"Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b",

"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",

"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",

"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",

"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",

"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",

"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", " " => "_"

);

return strtr($this->name1,$tr);// «перевод» будет сохранен в поле класса

}

function persona ($name, $pol)

{

$this->name1 =$name;

$this->pol = $pol;

switch($this->pol)

{

case "m": // Если выбран Мужской род

$this->line.="Уважаемый ";

break;

case "g": // Если выбран женский род

$this->line.="Уважаемая ";

break;

}

$this->line.=$this->name1;

}

public function error ()

{

echo "<p align='center'>Заполните ответы на вопросы №:";

if ($q0=='') echo "1 ";

if ($q1=='') echo "2 ";

if ($q2=='') echo "3 ";

if ($q3=='') echo "4 ";

if ($q4=='') echo "5 ";

if ($q5=='') echo "6 ";

if ($q6=='') echo "7 ";

if ($q7=='') echo "8 ";

if ($q8=='') echo "9 ";

if ($q9=='') echo "10 ";

echo ".<br> <a href='index.html'>Вернуться к тесту -></a></form></div></body></html>";

}

public function counter ($q1,$q2,$q3,$q4,$q5,$q6,$q7,$q8,$q9)

{

if($q0=="a1") $count++;

if($q1=="гром") $count++;

if($q2=="a2") $count++;

if($q3=="зима") $count++;

if($q4=="a3") $count++;

if($q5=="a2") $count++;

if($q6=="a1" and "a4") $count++;

if($q7=="a1" and "a3") $count++;

if($q8=="a1" and "a3") $count++;

if($q9=="a1") $count++;

$this->line.=" вы набрали ".$count." баллов.";

$this->results($count);

}

public function results($rcount)

{

if($rcount==0) $f_res="text/2.txt";

if($rcount==1) $f_res="text/3.txt";

if($rcount==2) $f_res="text/4.txt";

if($rcount==3) $f_res="text/5.txt";

if($rcount==4) $f_res="text/6.txt";

if($rcount==5) $f_res="text/7.txt";

if($rcount==6) $f_res="text/8.txt";

if($rcount==7) $f_res="text/9.txt";

if($rcount==8) $f_res="text/8.txt";

if($rcount==9) $f_res="text/9.txt";

$f_t=fopen($f_res, 'r');

$size=filesize($f_res);

$this->str=fread($f_t, $size);

fclose($f_t);

$this->line.=$this->str;

}

public function sendToMail()

{

mail($mail, "Результат",$this->line);

$this->line.=" Результат отправлен на почту.";

}

public function writeToFile()

{

$f=fopen($this->name1.".txt","a");

$this->line.="\r\n";

fwrite($f,$this->line);

fclose($f);

$this->line.=" Результат записан в файл.";

}

public function Selection($selection1,$selection2)

{

if ($selection1=="a2")

{

$this->name1=$this->translit();

$this->writeToFile();

}

if($selection1=="a1")

{

$this->emailmassage->$selection2;

$this->sendToMail();

}

}

}

?>

Результат выполнения теста изображён на рисунке 3. Вывод результата изображён на рисунке 4, сохранение результата в файле изображён на рисунке 5.

Рисунок 3- Тест

программирование index файл

Рисунок 4- Вывод результата на экран

Рисунок 5- Запись файла

Так же можно результат отправить по электронной почте, изображено на рисунке 6,7.

Рисунок 6- Выбор получения результата

Рисунок 7- Результат письмом на адрес

Вывод: В ходе выполнения лабораторной работы был разработан тест на языке php.

Размещено на Allbest.ru


Подобные документы

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

    контрольная работа [16,0 K], добавлен 19.06.2014

  • Понятие об html. Структура файла в формате html. Отличительный признак html-документа. Гипертекстовые ссылки. Создание документов в стандарте html. Заголовки. Форматирование текста и изменение стилей. Фреймы.

    реферат [23,7 K], добавлен 17.08.2007

  • Работа с HTML-редактором Adobe Dreamweaver. Этапы и правила построения заглавной страницы сайта, форматирования HTML-страниц, создания гипертекстовых ссылок, создания и форматирования таблиц. Использование графических материалов при разработке сайта.

    методичка [1,9 M], добавлен 06.07.2011

  • Язык разметки гипертекстовых страниц HTML. Обеспечение доступности Web-страницы, представление текста и графики. Основные правила и этапы создания сайта, выбор структуры страницы. Оценка экономической целесообразности использования HTML-редакторов.

    дипломная работа [86,7 K], добавлен 25.03.2013

  • Основы языка программирования Web-страниц – HTML. Виды информации, которую может содержать Web-страница: текст, графика, звук, анимация и видео. Инструментарий для создания Web-страниц. Основные HTML-редакторы, которые используются для Web-дизайна.

    реферат [374,0 K], добавлен 19.01.2011

  • Создание сайта при помощи HTML и CSS. Язык гипертекстовой разметки HTML и таблица стилей CSS. Основные понятия об этих языках, этапы и алгоритмы программного обеспечения. Добавление стилей в документ. Свойства элементов, принцип построения Web-страницы.

    курсовая работа [2,9 M], добавлен 12.01.2016

  • Термин HTML (HiperText Markup Language) и его реализация. Программы просмотра страниц написанных на зыке манипулирования гипертекстами. Характеристика специальных программ – браузеров: Google Chrome, Opera, Mozilla Firefox. Структура HTML-страницы.

    контрольная работа [118,8 K], добавлен 05.04.2015

  • Изучение тегов для создания списков и таблиц в HTML, основных атрибутов тегов. Практические навыки создания списков и таблиц в HTML-документах. Нумерованные, маркированные и вложенные списки, список определений. Выравнивание данных в ячейках таблицы.

    контрольная работа [322,1 K], добавлен 09.08.2014

  • Цели, задачи и компоненты информационной технологии управления. Разработка структуры сайта и программный код работы в HTML–редакторе: создание титульной страницы, документа с фреймами, связь информационных документов с помощью гипертекстовых ссылок.

    курсовая работа [34,3 K], добавлен 11.08.2011

  • Специальные разметочные указатели (теги) языка HTML. Основные правила написания тегов. Структура HTML-файлов. Внесение изменений и способы обновления Web-сайта. Необходимые атрибуты для создания на Web-странице бегущей строки и вставки рисунков.

    презентация [439,3 K], добавлен 29.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.