Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Разработка приложений БД на cервере MySQL с помощью PHP




КОНТРОЛЬНАЯ РАБОТА

по дисциплине

«Web программирование»

 

Вариант 2

 

 

Выполнил Студент группы ИТ 07-1 зт

Шелест М.В.

 

Проверил Алтухов А.В.

 

Краматорск 2012


 

Задание №1

Разработка приложений с помощью PHP

Цель работы: получить практические навыки развертывания и базовой настройки АМР-платформы, изучить функции PHP для получения данных формы, работы со строками и массивами.

Задание к работе:

- Ознакомиться с теоретическим материалом.

- Cоздать скрипт на php для выполнения ввода информации в элементы формы, обработать введены данные, выдать информацию пользователю. Использовать элементы диалога таблицы 1.

- Оформить отчет согласно требованиям.

 

Таблица 1- Индивидуальное задание для выбора элементов диалога

  Select, textarea

 

 

Ход работы:

1.Создадим html форму:

 

<form action="lab1.php" method="post">

Enter name:

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

Select country:

<select name="country">

<option value="ua">Ukraine</option>

<option value="ru">Russia</option>

<option value="uk">United Kingdum</option>

</select>

<input type="submit" name="send" value="Send data">

</form>

2. Создадим php обработчик формы:

<?php

$method = $_SERVER["REQUEST_METHOD"];

$name=$_REQUEST["name"];

$country_label = $_REQUEST['country'];

 

if($country_label == 'ua'){

$country = 'Ukraine';

}

if($country_label == 'ru'){

$country = 'Russia';

}

if($country_label == 'uk'){

$country = 'United Kingdum';

}

echo "<br>Your name: ". $name;

echo "<br>You country: ". $country;?>

В результате получим html форму и так как обработчик формы равен url этой же форме, то при отправке полей в этой же форме ниже отобразится введенная информация:

 

 

Задание №2

Работа с файлами в PHP

Цель работы: получить практические навыки работы с файлами и директориями с помощью PHP.

Задание к работе:

- Ознакомиться с теоретическим материалом.

- Cоздать скрипт на php для выполнении индивидуального задания (варианты 1-5 решают задачу 1, варианты 6-10 решают задачу 2, варианты 11-15 решают задачу 3, варианты 16-20 решают задачу 4). Использовать элементы диалога таблицы 1.

- Оформить отчет согласно требованиям.

 

1 Создать скрипт для работы гостевой книги: использовать указанные элементы диалога для ввода информации о пользователях сайта и оставляемых комментариях, которая будет записывается в файл. Создать страницу с просмотром всех сообщений.

2 Создать текстовый файл с информацией о товарах (название, цена, фирма), в котором отдельная строка соответствует одному товару. Создать скрипт, который выводит на страницу прайс товаров с возможностью заказа товара по нажатию кнопки возле соответствующей строки. При заказе товара, обязательно пользователь вводит свое имя и требуемое количество товара. Список заказов хранить в другом файле, например “zakazi.txt”.

Использовать следующую функцию для разбития строки файла на составляющие: list($name,$price)= split (":", $srt,2);

3 Создать список файлов указанной директории, с указанием размеров каждого файла и датой последнего обращения к файлу. Полученную информацию записать в файл statistic_files.txt.

4 В выбранном файле подсчитать кол-во ссылок, таблиц и рисунков.

 

 

Ход работы:

 

1.Создадим основную страницу на которой пользователь может ввести свои данные и сообщение:

 

<form action="lab2_write_to_file.php" method="post">

Enter name:

<input type="text" name="name" />

<br>

Select country:

<select name="country">

<option value="ua">Ukraine</option>

<option value="ru">Russia</option>

<option value="uk">United Kingdum</option>

</select>

<br>

Enter you message please:

<br/>

<textarea name="message" cols="30" rows="10"></textarea>

<br/>

<input type="submit" name="send" value="Send data">

</form>

 

<? $baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/';?>

<a href="<?= $baseUrl. 'lab2_view_all_records.php'?>">View all messages</a>

 

2.После отправки сообщения все данные будут записаны в файл и будет выведено сообщение об успешной записи(lab2_write_to_file.php)

 

<?php

 

$name = $_REQUEST["name"];

$country_label = $_REQUEST['country'];

$message = $_REQUEST['message'];

 

$file = fopen("lab2.txt", "a");

$test = fwrite($file, $name. '||'. $country_label. '||'. $message. "\r\n");

 

if ($test){

echo 'Data was writing successfully.';

}

else {

echo 'Error.';

}

fclose($file);

 

$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/';

 

?>

 

<a href="<?= $baseUrl. 'lab2.php'?>">Back</a>

 

3.Также на главной странице есть ссылка на просмотр всех записей гостевой книги. Там в свою очередь формируется html таблица из файла гостевой книги.

Листинг:

<? if(file_exists('lab2.txt')):?>

<?$arr = file("lab2.txt");?>

<table border="1">

<tr>

<td>Name</td>

<td>Country</td>

<td>Message</td>

</tr>

<? foreach($arr as $string):?>

<tr>

<? $part = explode('||', $string)?>

<? $name = $part[0];?>

<? $country = $part[1];?>

<? $message = $part[2];?>

<td><?=$name?></td>

<td><?=$country?></td>

<td><?=$message?></td>

</tr>

<? endforeach;?>

</table>

<?else:?>

<?= 'file dose not exist';?>

<?endif;?>

 

<a href="<?= $baseUrl. 'lab2.php'?>">Back</a>

 

Задание №3

Разработка приложений БД на cервере MySQL с помощью PHP

Цель работы: изучить настройки сервера БД MySQL, возможности подключения к БД с помощью PHP

Задание к работе:

- Ознакомиться с теоретическим материалом.

- Создать БД согласно варианту (предметную область взять из табл. 2)

- Разработать структуру таблиц

- Создать скрипт на php для просмотра записей таблиц, поиска по критерию, добавления информации, удаления записей и изменения информации

- Оформить отчет согласно требованиям.

Таблица 2 – Индивидуальное задание

  Номенклатура оборудования

 

Ход работы:

1.Создадим БД mysql используя phpmyadmin. В данной БД создадим таблицу с наименованием оборудования: equipment

 

CREATE TABLE IF NOT EXISTS `equipment` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`type` varchar(255) NOT NULL,

`full_name` varchar(255) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=10;

 

2.Для отображения всего списка оборудования будем использовать главный файл lab3.php. Листинг приведен ниже:

<?

$connect = mysql_connect('localhost', 'root', '');

mysql_select_db('lab_2');

$result = mysql_query('SELECT * FROM equipment');

$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);

?>

<style type="text/css">

.btn{

float:right;

}

</style>

<div style="width: 600px; margin: 0px auto;">

<table border="1" >

<thead>

<caption>Equipment list</caption>

<th>id</th>

<th>type</th>

<th>full name</th>

<th width="100">action</th>

</thead>

<tbody>

<? while ($row = mysql_fetch_array($result)):?>

<tr>

<td><? echo $row["id"];?></td>

<td><? echo $row["type"];?></td>

<td><? echo $row["full_name"];?></td>

<td><a href="<?= $baseUrl. '/lab_3_edit.php?id='. $row['id'];?>">Edit | </a>

<a href="<?= $baseUrl. '/lab_3_delete.php?id='. $row['id'];?>">Delete</a>

</td>

</tr>

<? endwhile;?>

<tr>

<form action="lab3_search.php" method="post" name="id_search">

<td><input type="text" size="4" name="id">

<input type="submit" name="submit_id" value="Find" class="btn">

</form>

<form action="lab3_search.php" method="post" name="type_search">

<td><input type="text" size="15" name="type">

<input type="submit" name="submit_type" value="Find" class="btn">

</form>

<form action="lab3_search.php" method="post" name="name_search">

<td><input type="text" size="40" name="full_name">

<input type="submit" name="submit_name" value="Find" class="btn">

</form>

<td></td>

</tr>

</tbody>

</table>

<a href="<?=$baseUrl. '/lab_3_add.php'?>">Add new</a>

</div>

 

На экране это выглядит следующим образом:

На данном рисунке изображен список оборудования. Также ссылки для добавления/удаления/редактирования элементов. Для каждого поля (id, type, full name) реализован поиск по значению (для поиска необходимо ввести в соответствующее поле значение и нажать кнопку find).

 

3. Реализация поиска по значению полей:

На рисунке ниже показан поиск по значению id=1:

 

Листинг поиска по значению(файл lab3_search.php):

<?

$data = $_POST;

if($value = $data['submit_id']){

$field = 'id';

}

if($data['submit_type']){

$field = 'type';

}

if($data['submit_name']){

$field = 'full_name';

}

 

$connect = mysql_connect('localhost', 'root', '');

mysql_select_db('lab_2');

$table = 'equipment';

$condition = ' WHERE '. $field. '="'. $data[$field]. '"';

$result = mysql_query('SELECT * FROM '. $table. $condition);

?>

<div style="width: 600px; margin: 0px auto;">

<table border="1" width="600" style="margin: 0px auto;">

<thead>

<th>id</th>

<th>type</th>

<th>full name</th>

</thead>

<tbody>

<? while ($row = mysql_fetch_array($result)):?>

<tr>

<td><? echo $row["id"];?></td>

<td><? echo $row["type"];?></td>

<td><? echo $row["full_name"];?></td>

</tr>

<? endwhile;?>

</tbody>

</table>

 

<div id="navigation" style="">

<a href="javascript:history.back()">Back</a>

</div>

</div>

 

 

4. Реализация добавления новых записей в бд (файл lab_3_add.php):

<?if(!$_POST):?>

<form action="lab_3_add.php" method="post">

<label for="type">Type of equipment</label>

<input type="text" id="type" name="type"/><br>

<label for="full_name">Full name of equipment</label>

<input type="text" id="full_name" name="full_name"/><br>

<input type="submit" value="Add"/>

</form>

<?else:

 

$connect = mysql_connect('localhost', 'root', '');

if (!$connect) die('connection error!');

mysql_select_db('lab_2', $connect);

$table = 'equipment';

mysql_query('INSERT INTO '. $table. ' (type, full_name) VALUES ("'. $_POST['type']. '", "'. $_POST['full_name']. '")');

$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). '/';

mysql_close($connect);

$redirectUrl = $baseUrl. 'lab3.php';

header ("Location: ". $redirectUrl);

 

endif;?>

 

Результат показан на рисунке ниже:

 

 

5.Реализация редактирования записей БД.

Для редактирования записи необходимо нажать на ссылку «Edit» соответствующей записи. Форма редактирования аналогична форме добавления новой записи. Листинг приведен ниже (lab_3_edit.php):

 

<? if($_POST):

 

$connect = mysql_connect('localhost', 'root', '');

if (!$connect) die('connection error!');

mysql_select_db('lab_2', $connect);

$table = 'equipment';

 

mysql_query('UPDATE '. $table. ' SET type="'. $_POST['type']. '", full_name="'. $_POST['full_name']. '" WHERE id="'. $_POST['id']. '"');

 

$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). '/';

mysql_close($connect);

$redirectUrl = $baseUrl. 'lab3.php';

header ("Location: ". $redirectUrl);

endif;

?>

 

<? if ($_GET['id']):

 

$connect = mysql_connect('localhost', 'root', '');

if (!$connect) die('connection error!');

mysql_select_db('lab_2', $connect);

$table = 'equipment';

$result = mysql_query('SELECT * FROM '. $table. ' WHERE id="'. $_GET['id']. '"');

$row = mysql_fetch_array($result);

?>

 

 

<form action="lab_3_edit.php" method="post">

<label for="type">Type of equipment</label>

<input type="text" id="type" name="type" value="<?=$row['type']?>" /><br>

<label for="full_name">Full name of equipment</label>

<input type="text" id="full_name" name="full_name" value="<?=$row['full_name']?>" /><br>

<input type="hidden" name="id" value="<?=$row['id']?>" />

<input type="submit" value="Add"/>

</form>

 

<? endif;?>

 

5. Удаление записей происходит путем нажатия напротив соответствующей записи кнопки «Delete». Листинг lab_3_delete.php:

<? if ($_GET['id']):

 

$connect = mysql_connect('localhost', 'root', '');

if (!$connect) die('connection error!');

mysql_select_db('lab_2', $connect);

$table = 'equipment';

mysql_query('DELETE FROM '. $table. ' WHERE id="'. $_GET['id']. '"');

 

$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). '/';

mysql_close($connect);

$redirectUrl = $baseUrl. 'lab3.php';

header ("Location: ". $redirectUrl);

 

?>

<? endif;?>

Задание №4

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...