Федеральное агентство по образованию ГОУ ВПО Уфимский государственный авиационный технический университет

advertisement
Федеральное агентство по образованию
ГОУ ВПО Уфимский государственный авиационный технический университет
Кафедра информатики
ОТЧЕТ
ПО ЛАБОРАТОРНОЙ РАБОТЕ №4
по дисциплине:
«Компьютерные технологии в науке и производстве»
на тему:
«Основы клиент-серверных технологий»
Выполнил:
магистрант гр. АиУ-506
Рыжов А.В.
«26» октября 2010 г.
Проверил:
канд.техн.наук, доцент
Минасов Ш.М.
« 26 » октября 2010 г.
Оценка «
»
Уфа – 2010
ОГЛАВЛЕНИЕ
Введение ....................................................................................................................... 3
1.Цель работы .............................................................................................................. 3
2.Ход выполнения работы .......................................................................................... 3
3.Индивидуальное задание ......................................................................................... 3
3.1.Постановка задачи............................................................................................. 3
3.2.Фрагменты программного кода ....................................................................... 4
3.3.Экранные формы реализованного проекта .................................................... 4
Выводы ......................................................................................................................... 5
Список литературы ..................................................................................................... 6
Приложения ................................................................................................................. 7
2
ВВЕДЕНИЕ
Рассматривается установка и настройка php-интерпретатора на сервере
Apache, а также возможность создания web-приложения на языке php.
1. ЦЕЛЬ РАБОТЫ
Целью настоящей работы является: создания интерактивного Web –
приложения, работающего в режиме реального времени, которое осуществляет
отправку данных на сервер и их обработку с помощью PHP.
2. ХОД ВЫПОЛНЕНИЯ РАБОТЫ
1. Выполнены и проанализированы примеры создания php-приложений
отправки данных на сервер приведенные в методических указаниях.
2. Выполнено индивидуальное задание для самостоятельной работы, а
именно, разработано web-приложение, осуществляющее отправку данных. Для
удобства дальнейшего использования данные заносятся в базу mySQL. Ссылка
на
php-приложение:
http://informatic.ugatu.ac.ru/resources/stdworks/mag2010/4326/index.php?act=summ
a
3. ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
3.1. Постановка задачи
В качестве индивидуального задания выдана тема «Обработка данных
таблицы прогноза доходов коммерческого банка», которая подразумевает
подсчет
величины
прогнозируемого
дохода по
кредитному портфелю
коммерческого банка при различных ситуациях на рынке кредитования. В
качестве исходных данных в поставленной задаче рассмотрены: данные о
доходе коммерческого банка по каждой программе кредитования за различные
промежутки времени. Доступ к данным предоставляется пользователю после
успешной авторизации.
3
3.2. Фрагменты программного кода
Файл: laba4.php – «Форма запроса авторизации» в Приложении 1.
Файл: secret_info.php – «Секретная страница пользователя» в Приложении
2.
Файл: tabl1.php – «Данные в табличном виде для пользователя» в
Приложении 3.
Файл: reg.php – «Форма регистрации авторизации» в Приложении 4.
Файл:
post_reg.php
–
«Обработка
регистрационных
данных»
в
Приложении 5.
3.3. Экранные формы реализованного проекта
На рис. 1 представлена экранная форма страницы secret_info.php.
Рисунок 1. Экранная форма страницы secret_info.php
4
ВЫВОДЫ
В
результате
поставленная
интерактивного
в
выполнения
рамках
лабораторной
самостоятельной
web-приложений,
работы
работы
осуществляющего
была
задача:
передачу
решена
«Создание
данным
средствами php». В процессе решения задачи было принято решение создать
форму регистрации пользователей с использованием в качестве «хранилища»
баз данных mySQL. Было разработано функциональное web-приложение
отправки данных на сервер.
Для
выполнения
индивидуального
задания
были
изучены:
язык
программирование php.
5
СПИСОК ЛИТЕРАТУРЫ
1. Разработка распределенных интерактивных приложений на базе
Интернет- технологий: Лабораторный практикум по дисциплине
«Основы Интернет технологий» Часть 2 / Уфимск. гос. авиац. техн. ун-т;
Сост. Ш.М. Минасов. – Уфа, 2007. – 15 с.
2. MySQL и другие веб-технологии. Дата обращения: 5.10.2010 http://php.su/
3. HTML справочник. Дата обращения: 5.10.2010. http://html.manual.ru/
6
ПРИЛОЖЕНИЯ
Приложение 1. Полный текст сценария laba4.php
<center>
<FORM action="index.php?act=secret_info" method="POST">
<table border="0">
<tr>
<td>Логин/e-mail</td><td><INPUT TYPE=text
name=login></td>
</tr>
<tr>
<td>Пароль</td><td><INPUT TYPE=password
name=password></td>
</tr>
<tr>
<td colspan="2" align="center">
<span font-size="10pt">
<a href="index.php?act=reg">Регистрация</a> 
<a href="index.php?act=pass">Забыли пароль?</a>
</span>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type=submit value="Войти">
</td>
</tr>
</table>
</FORM>
</center>
Приложение 2. Полный текст сценария secret_info.php
<?php
session_start();
$host='informatic.ugatu.ac.ru';
$database='mag2010-4326';
$user='mag2010';
$pswd='sqrt';
error_reporting(0);
$dbh=mysql_connect($host,$user,$pswd) or die("Не могу
соединиться с MySQL.");
7
mysql_select_db($database) or die("Не могу подключиться к
базе.");
$_SESSION['login']=$_POST['login'];
$_SESSION['password']=$_POST['password'];
$idenlog = "SELECT mail FROM users where
mail='".$_SESSION["login"]."'";
$idenpas = "SELECT password FROM users where
password='".$_SESSION["password"]."'";
$idencat = "SELECT category FROM users where
mail='".$_SESSION["login"]."'";
$mail = mysql_query($idenlog);
$pass = mysql_query($idenpas);
$cat = mysql_query($idencat);
$mail1 = mysql_fetch_row($mail);
$pass1 = mysql_fetch_row($pass);
$cat1 = mysql_fetch_row($cat);
$c = implode("", $mail1);
$c2 = implode("", $pass1);
$c3 = implode("", $cat1);
if($c<>"" and $c2<>"")
{
if($c == $_SESSION['login'] and $c2 ==
$_SESSION['password'])
{
echo "<p
align='left'>     Здравствуйте,
<b>".$_SESSION["login"]."</b>! вы выполнили вход на сайт!
Следующая информация теперь доступна для Вас:</p>";
if($c3=="admin")
{header ('Location: index.php?act=admin');}
if($c3=="op")
{header ('Location: index.php?act=operator');}
if($c3=="bugalt")
8
{header ('Location: index.php?act=bugalter');}
echo "<center>";
include("tabl1.php");
echo "</center>";
$users = "SELECT * FROM users";
$result = mysql_query($users);
if (mysql_num_rows($result)>0)
{
while ($row = mysql_fetch_assoc($result))
{
if ($row["oplata"]=="yes" and
$_SESSION['login']==$row["mail"]) {echo"<p
align='left'>     <font
color='red'>Внимание:</font> Ваш платеж прошел успешно!
Доступ расширен.</p>";
include("kommerc.php");
}
else {
if ($_SESSION['login']==$row["mail"]) echo"<p
align='left'>     Доступ для Вас
<font color='red'>ограничен</font>. Вы можете оставить
заявку связавшись с нами по тел. <font color='green'>8800-277-77-77</font></p>";
}
}
}
echo "<p align='left'>     <a
href='index.php?act=destroy'>Выйти из профиля</a></p>";
}
else echo "Неверный логин либо пароль, доступ запрещен!";
}
else echo "Не введен логин либо пароль, доступ
запрещен!";
?>
Приложение 3. Полный текст сценария tabl1.php
<?php
9
$dbh=mysql_connect($host,$user,$pswd) or die("Не могу
соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к
базе.");
$q = mysql_query("SELECT * FROM prognoz ORDER BY id");
echo "<center><H3>Таблица. Прогноз дохода по кредитным
программам.</H3></center>";
echo'<table width="90%" bordercolor="#000000"
border="1px" cellspacing="0" cellpadding="0">';
echo "<tr>
<td></td>
<td></td>
<td align='center'><h4>Январь</h4></td>
<td align='center'><h4>Февраль</h4></td>
<td align='center'><h4>Март</h4></td>
<td align='center'><h4>Апрель</h4></td>
<td align='center'><h4>Май</h4></td>
<td align='center'><h4>Июнь</h4></td>
<td align='center'><h4>Июль</h4></td>
<td align='center'><h4>Август</h4></td>
<td align='center'><h4>Сентябрь</h4></td>
<td align='center'><h4>Октябрь</h4></td>
<td align='center'><h4>Ноябрь</h4></td>
<td align='center'><h4>Декабрь</h4></td>
<td align='center' bgcolor='pink'><h4>Январь</h4></td>
</tr>";
while($r=mysql_fetch_array($q)) {
echo '<tr><td align="center">'.$r["id"].'</td><td
align="center">'.$r["programma"].'</td><td
align="center">'.$r["jan"].'</td><td
align="center">'.$r["feb"].'</td><td
align="center">'.$r["mar"].'</td><td
align="center">'.$r["apr"].'</td><td
align="center">'.$r["may"].'</td><td
align="center">'.$r["jun"].'</td><td
align="center">'.$r["jul"].'</td><td
align="center">'.$r["aug"].'</td><td
align="center">'.$r["sep"].'</td><td
align="center">'.$r["oct"].'</td><td
align="center">'.$r["nov"].'</td><td
10
align="center">'.$r["dec"].'</td><td
align="center">'.$r["jan_prog"].'</td></tr>';
}
echo'</table>';
?>
Приложение 4. Полный текст сценария reg.php
<h3>Регистрация</h3>
<form action="post_reg.php" method=POST
name="rizhov4326">
<table border="0">
<tr><td>Введите фамилию:</td> <td><input type=text
name="lname"></td></tr>
<tr><td>Введите имя: </td> <td><input type=text
name="fname"></td></tr>
<tr><td>Введите отчество: </td> <td><input type=text
name="sname"></td></tr>
<tr><td>E-mail/Логин: </td> <td><input type=text
name="email"></td></tr>
<tr><td>Пароль: </td> <td><input type=text
name="pass"></td></tr>
<tr><td colspan="2" align="center"><input type=submit
value="Отправить"> <input type=reset
value="Отменить"></td></tr>
</table>
</form>
Приложение 5. Полный текст сценария post_reg.php
<?php
$host='informatic.ugatu.ac.ru';
$database='mag2010-4326';
$user='mag2010';
$pswd='sqrt';
$dbh=mysql_connect($host,$user,$pswd) or die("Не могу
соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к
базе.");
11
$email = stripslashes(substr($_POST['email'],0,30));
$error=0;
$d = mysql_query("SELECT * FROM users",$dbh);
$c = mysql_num_rows($d);
for($i=0;$i<=$c;$i++)
{
$iden = "SELECT mail FROM users where
mail='".$_POST['email']."'";
$mail = mysql_query($iden,$dbh);
if($row=MySQL_fetch_array($mail)) {
$error=1;
};
};
if($error==0)
{
$ins = mysql_query("insert into users values
('','".$_POST['lname']."','".$_POST['fname']."','".$_POST
['sname']."','".$_POST['email']."','".$_POST['pass']."',
'user','no','no')",$dbh);
if($ins) {
echo"Поздравляем вас, ".$_POST["fname"]."
".$_POST["sname"].", регистрация прошла успешно!";};
}
else
{
echo"Учетная запись с таким e-mail уже
зарегистрирована!";
};
?>
12
Download