|
Специальность 09.02.04 Информационные системы (по отраслям)
(базовая подготовка)
ЗАЧЕТНАЯ РАБОТА
МДК 02.01 Информационные технологии и платформы разработки информационных систем
Выполнила | Проверил | |
студентка группы | 3-ИС-1 | преподаватель |
Демина Елизавета | Гутянская Е.М. | |
ФИО | ||
г. Нижний Новгород
2015 г.
зачет.php
<?php
include('config.inc.php'); // установление соединения с БД.
// вывод заголовка (стиль, JS-код)
function head()
{
?>
<html><head><style>
table {border-collapse: collapse;}
td,th { border: 1px solid #666666; align: center }
</style>
<script type=text/javascript>
function del(name, id)
{
window.location.href =
confirm(name+'! Вы действительно хотите удалить себя из списка?')
? '?del='+id: document.location.href+'#';
}
</script></head><body bgcolor=#AABBCC>
<?
}
// вывод подножия (форма поиска и две ссылки навигации)
function tail()
{
?>
<hr>
<form method=get action=? >
Поиск имени: <input name=name />
<input type=submit value=Найти />
</form>
<hr>
<a href=?> Новый визит</a>
<a href=?act=2>Список всех имен</a>
<?
}
// берем входные параметры
$add = unmq(@$_POST['name']); // имя посетителя при визите
$src = unmq(@$_GET ['name']); // имя посетителя при поиске
$del = intval(@$_GET ['del']); // id удаляемого посетителя
$act = intval(@$_GET ['act']); // ветвь редиректа
$id = intval(@$_GET ['id']); // id посетителя при редиректе
if($add === null && $src === null &&!$act &&!$del)
{ // случай начального запуска - без параметров
head();
?> <form method=post action=? >
Ваше имя: <input name=name />
<input type=submit value=Enter />
</form>
<?
tail();
}elseif($add!== null)
{ // обработка данных формы учета визита посетителя.
$host = $_SERVER['HTTP_HOST'];
$self = $_SERVER['PHP_SELF'];
$enc_add = rawurlencode($add);
$name = $add;
$esc_name = "'".mysql_escape_string($name)."'";
$sql = "SELECT id FROM guests WHERE guestname = $esc_name";
$res = mysql_query($sql) or die("Error in $sql: ". mysql_error());
$id = false;
$sql = mysql_num_rows($res)
? "UPDATE guests SET visits = visits + 1 WHERE id = ".($id=intval(mysql_result($res, 0)))
: "INSERT INTO guests (guestname, visits) VALUES ($esc_name, 1)";
$res = mysql_query($sql) or die("Error in $sql: ". mysql_error());
if(!$id) $id = mysql_insert_id();
header("Location: http://$host$self?act=1&id=$id");
exit("Данные приняты.");
}else if($act)
{ // обработка запроса всего списка и обработка редиректов
// (для убирания побочных эффектов при обновлении
// страниц после активных действий)
head();
if($act == 1)
{ // редирект после учета добавления посетителя
$sql = "SELECT *, LENGTH(guestname) as len FROM guests WHERE id = ".intval($id);
$res = mysql_query($sql) or die("Error in $sql: ". mysql_error());
if(!mysql_num_rows($res))
echo "Ошибка добавления посетителя";
else
{
$row=mysql_fetch_assoc($res);
$visits = intval($row['visits']);
$name = $row['guestname'];
$len = intval($row['len']);
$out_name = htmlspecialchars($name);
echo "Здравствуйте, $out_name! В Вашем имени $len символов<br/>\r\n";
echo "Вы зашли к нам $visits-й раз.<br/>\r\n";
}
}
if($act <= 2)
{ // редирект после учета добавления посетителя
// и обработка запроса всего списка посетителей
echo "<hr>Нас посетили:<table><tr><th> N </th><th> Посетитель </th>
<th> Визит </th><th> x </th><tr>\r\n";
$sql = "SELECT * FROM guests";
$res = mysql_query($sql) or die("Error in $sql: ". mysql_error());
for($n = 1; $row=mysql_fetch_assoc($res); $n++)
{
$id = $row['id'];
$guestname = $row['guestname'];
$visits = $row['visits'];
$enc = rawurlencode($guestname);
$out_name = htmlspecialchars($guestname);
$out_enc = htmlspecialchars($enc);
$js_name = mysql_escape_string($guestname);
$out_js_name = htmlspecialchars($js_name);
echo "<tr>
<td> $n </td>
<td> <a href=\"?name=$out_enc\" >$out_name</a> </td>
<td> $visits </td>
<td> <a href=\"#\" onClick=\"javascript:del('$out_js_name', $id);\">del</a> </td><tr>\r\n";
}
echo "</table>\r\n";
}else
{ // редирект при удалении посетителя
echo $act == 3?"Посетитель удален":"Нет такого посетителя";
}
tail();
}elseif($src!== null)
{ // обработка запроса поиска
$esc_name = "'".mysql_escape_string($src)."'";
$out_name = htmlspecialchars($src);
$sql = "SELECT * FROM guests WHERE guestname = $esc_name";
$res = mysql_query($sql) or die("Error in $sql: ". mysql_error());
if(mysql_num_rows($res) == 0)
{
head();
echo "Однако, $out_name нас не посещал";
tail();
}
else
{
head();
echo "<hr>Результат поиска:<table><tr><th> N </th><th> Посетитель </th>
<th> Визит </th><th> x </th><tr>\r\n";
for($n = 1; $row=mysql_fetch_assoc($res); $n++)
{
$id = $row['id'];
$guestname = $row['guestname'];
$visits = $row['visits'];
$enc = rawurlencode($guestname);
$out_name = htmlspecialchars($guestname);
$out_enc = htmlspecialchars($enc);
$js_name = mysql_escape_string($guestname);
$out_js_name = htmlspecialchars($js_name);
echo "<tr>
<td> $n </td>
<td> <a href=\"?name=$out_enc\" >$out_name</a> </td>
<td> $visits </td>
<td> <a href=\"#\" onClick=\"javascript:del('$out_js_name', $id);\">del</a> </td><tr>\r\n";
}
echo "</table>\r\n";
tail();
}
}elseif($del!== null)
{ // обработка запроса удаления посетителя
$sql = "DELETE FROM guests WHERE id = ".intval($del);
$res = mysql_query($sql) or die("Error in $sql: ". mysql_error());
$host = $_SERVER['HTTP_HOST'];
$self = $_SERVER['PHP_SELF'];
$err = mysql_affected_rows()? 3: 4;
header("Location: http://$host$self?act=$err");
}
?>
Дата добавления: 2015-08-09; просмотров: 51 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Китайский язык для начинающих. Как писать китайские иероглифы. Урок 6 | | | config.inc.php |