Министерство науки и образования РФ
Новосибирский Государственный Технический Университет
Кафедра ВТ
Лабораторная работа №3
по дисциплине «Инфокоммуникации»
Создание тестовой системы и счетчика посещений
страницы средствами CGI и PHP
Факультет: АВТ
Группа: АМ-510
Студенты: Гильдман Р.А.
Прозоров В.И.
Преподаватель: Новицкая Ю.В.
Вариант 5
Новосибирск, 2009 г.
Во всех вариантах задания необходимо разработать CGI-модуль и PHP-скрипт
CGI. Экзамен по дисциплине и текстовый счетчик посещения страницы.
PHP. Экзамен по дисциплине и в результате вывод не только оценки, но и перечня тем с большинством неправильных ответов. Вывод результата по темам в виде диаграммы.
CGI (CommonGatewayInterface)
CGI – это интерфейс для запуска внешних программ под управлением web-сервера.
Приложение CGI – программа, использующая CGI-интерфейс, получает информацию от удаленного пользователя, обрабатывает ее, и возвращает результат (динамически сформированный HTML-документ, гиперссылка на существующий HTML-документ, графическое изображение и т.д.) Так как CGI-приложение – это программа, она должна быть оттранслирована для той операционной системы, под управлением которой работает web-сервер.
На стороне клиента размещается форма ввода, содержащая некоторые поля для ввода данных и кнопку для отсылки данных. После заполнения полей и нажатия кнопки данные в запросе клиента пересылаются на сторону сервера, где web-сервер передает присланные данные CGI-приложению.
После обработки полученных данных CGI-приложение создает документ и передает его web-сервер, который в ответе сервера возвращает документ на сторону клиента.
Рис.1 Пример работы опросника
Файл examen.php:
<HTML>
<head>
<title>Пройти экзамен</title>
</head>
<body>
<?
$GroupNum=3; // количество вопросов в группе
// $G1 = 0;
// $G2 = 0;
// $G3 = 0;
//$a = array(1 => 'sa', 'sa' => 5);
$G = array(1=>0,2=>0,3=>0);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo '<h1>Привет, <b>' . $_POST['name'] . '!</b></h1><br>Вот твои результаты:<br>';
for($i=1, $Gi=0; $i<10; $i++)
{
if(($i-1)%$GroupNum == 0)
{
$Gi++;
echo "Тема $Gi <br>";
}
echo "Вопрос $i ";
if($_POST['v'.$i.'']==1)
{
$G[$Gi]++;
echo "Верно <br>";
}
else echo "Не верно <br>";
//echo $_POST['v'.$i.''];
}
echo "<br>Количество правильных ответов ответов по темам соответственно: ";
echo "$G[1] $G[2] $G[3]";
$G[1]*=100;
$G[2]*=100;
$G[3]*=100;
echo "<br><br>Компьютеры: <table border=1 bgcolor=GREEN cellspacing=0 cellpadding=0 width=$G[1]><tr align=center><td></td></tr></table><br>";
echo "Музыка: <table border=1 bgcolor=GREEN width=$G[2]><tr align=center><td>$nbsp</td></tr></table><br>";
echo "Машины: <table border=1 bgcolor=GREEN width=$G[3]><tr align=center><td>$nbsp</td></tr></table><br>";
// if($G1>=$G2)
// {
// if($G1>=$)
// }
echo ("<br>");
/* for(; !isset($_POST['v'.$i.'']); $i++)
echo $_POST['v'.$i.''];
/* echo $_POST['v2'];
echo $_POST['v3'];
echo $_POST['v4'];
echo $_POST['v5'];
echo $_POST['v6'];*/
}
?>
<form method="POST" action="<?=$_SERVER['PHP_SELF']?>">
Введите Ваше имя: <input type="text" name="name">
<br>
<b>Тема: компьютеры</b>
<br><br>
<i>1. Что такое клавиатура</i>
<br>
<input type="radio" name="v1" value="1">Устройство ввода/вывода
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.