- •"Web-программирование" методические указания
- •Содержание
- •Введение
- •Лабораторная работа №1 Разработка приложений с помощью php
- •Теоретические сведения
- •Функция in_array
- •Функция array_search
- •Лабораторная работа №2 Работа с файлами в php
- •Теоретические сведения
- •Лабораторная работа №3 Разработка приложений бд на cервере MySql с помощью php
- •Краткие теоретические сведения
- •Взаимодействие php и MySql
- •Установка соединения
- •Выбор базы данных
- •Получение списка полей таблицы
- •Insert.Php
- •Лабораторная работа №4 Разработка сайта с использованием mvc фреймворка
- •Теоретические сведения
- •Лабораторная работа №5 Работа с таблицами бд с использованием mvc фреймворка
- •Теоретические сведения
- •View/Profiles.Php
- •Лабораторная работа №6 Прототипирование веб-сайта с использованием технологий «классического» php и шаблонизатора Smarty
- •Теоретические сведения
- •Возможности php
- •Задание на работу:
- •Лабораторная работа №7 Использование Ajax и js библиотек
- •Теоретические сведения
- •Поддержка ajax браузерами
- •Страница html для примера ajax
- •Код JavaScript приложения ajax
- •Серверные страницы ajax для asp и php
- •Пример ajax на php
- •Создание объекта xmlHttp
- •Xml, json или текст
- •Пример со списком контактов
- •Dom (Document Object Model).
- •Взаимодействие php и xml посредством dom xml
- •Перевод данных xml-файла в объекты и классы php
- •Задание на работу:
- •Лабораторная работа №8 Разработка компонент для cms Joomla. Разработка простого компонента для пользовательской части
- •Лабораторная работа №9 Разработка компонент для cms Joomla. Разработка компонента с использованием базы данных
- •Лабораторная работа №10 Разработка компонент для cms Joomla. Разработка компонента с административной частью
- •Лабораторная работа №11 Разработка приложения с помощью технологии asp.Net
- •Теоретические сведения
- •Первый проект
- •Задание на работу
- •Лабораторная работа №12 Авторизация. Поддержка сеанса пользователя
- •Теоретические сведения
- •Лабораторная работа №13 Работа с бд в asp.Net
- •Теоретические сведения
- •Лабораторная работа №14 Оформление дизайна страниц в asp.Net
- •Теоретические сведения
- •Основы Master Pages
- •Темы и skin (шкурки)
- •Web-програмування
Insert.Php
<?php
$name=$_REQUEST["name_c"];
$price=$_REQUEST["price_c"];
$firma=$_REQUEST["firma_c"];
$db=mysql_connect(localhost,'root','');
mysql_select_db("Coffee");
if ($but=insert_c)
{$sql1="INSERT INTO name_coffee VALUES('','$name','$price','$firma')";
mysql_query($sql1);
}
print "Кофе $name $firma добавлено";
?>
poisk.php
$a=$_REQUEST["price_c"];
{print " кофе по цене < $a грн: <br>"; }
$conn=mysql_connect(localhost,'root','');
mysql_select_db("Coffee");
$sql="SELECT * FROM info_coffee where price=".$a;
$result=mysql_query($sql);
for ($i=1; $i<=mysql_num_rows($result);$i++)
{$row=mysql_fetch_object($result);
print "Кофе $row->name $row->firma стоит $row->price грн. <br>";
}
Предварительно была создана форма для ввода цены кофе, которое необходимо найти:
<form action=poisk.php method=post>
введите цену <input type=text name=price_c> <br>
<input type=submit name=ok value=search>
</form>
Примечание. БД и таблицы хранятся на сервере по следующему пути:
Webserver\usr\local\mysql5\data\coffee
Задание к работе:
Ознакомиться с теоретическим материалом.
Создать БД согласно варианту (предметную область взять из табл. 2)
Разработать структуру таблиц
Создать скрипт на php для просмотра записей таблиц, поиска по критерию, добавления информации, удаления записей и изменения информации
Оформить отчет согласно требованиям.
Таблица 2 – Индивидуальное задание
|
Каталог напитков |
|
Номенклатура оборудования |
|
Каталог медицинских препаратов |
|
Каталог аудио дисков |
|
Каталог продуктов питания |
|
Каталог автомобилей |
|
Каталог бытовых приборов |
|
Каталог осветительных приборов |
|
Каталог оборудования на складе |
|
Каталог компьютерного оборудования: процессоры и материнские платы |
Отчет должен содержать:
Название и цель работы.
Ход работы с детальным описанием выполненных действий с рисунками, листингом кода.
Экранные формы браузера с загруженными страницами.
Выводы о проделанной работе.
Вопросы для подготовки к защите работы:
Взаимодействия PHP и СУБД MySql
Как происходит установка соединения с базой данных
Функциям отправки запросов и обработке ответов
Обработка ошибок при подключении к БД
Лабораторная работа №4 Разработка сайта с использованием mvc фреймворка
Цель работы: получить практические разработки модулей приложений с помощью Фреймворка CodeIgniter.
Теоретические сведения
MVC Фреймворк
Model-view-controller (Паттерн модель-представление-контроллер) используется очень давно. Еще в 1979 году его описал Тригве Реенскауг в своей работе «Разработка приложений на Smalltalk-80: как использовать Модель-представление-контроллер». С тех пор паттерн зарекомендовал себя как очень удачная архитектура программного обеспечения.
Пользователь, работая с интерфейсом, управляет контроллером, который перехватывает действия пользователя. Далее контроллер уведомляет модель о действиях пользователя, тем самым изменяя состояние модели. Контроллер также уведомляет представление. Представление, используя текущее состояние модели, строит пользовательский интерфейс.Основой паттерна является отделение модели данных приложения, его логики и представления данных друг от друга. Таким образом, следуя правилу «разделяй и властвуй», удается строить стройное программное обеспечение, в котором, во-первых, модель не зависит от представления и логики, а во-вторых, пользовательский интерфейс надежно отделен от управляющей логики.
На данный момент паттерн MVC реализован в том или ином виде для большинства языков программирования используемых для разработки web-приложений. Самое большое количество реализаций имеет PHP, но и для Java, Perl, Python, Ruby есть свои варианты.
«M» или модель – часть MVC-системы, которая отвечает за запросы к базе данных (или другому внешнему источнику) и предоставление информации контроллеру. Можно было бы загружать необходимую модель в зависимости от запроса, но возможно немного стереть границы между моделью и контроллером, т.е. контроллер работает с БД непосредственно через библиотеку взаимодействия с БД, нежели чем через отдельную модель.
Codeigniter
CodeIgniter — открытый фреймворк написанный на PHP для разработки полноценных веб-систем и приложений. Разработан компанией EllisLab, а также Риком Эллисом (Rick Ellis) и Полом Бурдиком (Paul Burdick).
Фреймворк – это готовый каркас для приложений, которые будут строиться на его основе. В этот каркас включены наиболее часто используемые библиотеки. Можно при написании каждого нового приложения изобретать велосипед с распределением его основных модулей, структурой директорий, классами обработки основных компонентов и т.п., а можно воспользоваться готовым универсальным решением.
CodeIgniter является инструментарием для тех, кто строит веб-приложения на PHP. Его цель в том, чтобы позволить вам разрабатывать приложения быстрее, чем если бы вы писали код с нуля, предоставляя богатый набор библиотек для часто используемых задач, а также простой интерфейс и логическую структуру для доступа к этим библиотекам. CodeIgniter позволяет творчески сосредоточиться на ваших проектах, используя минимальный объема кода, необходимый для той или иной задачи.
CodeIgniter обладает рядом значительных плюсов перед другими веб-фреймворками, например:
используется модель MVC (Модель-Отображение-Контроллер), хорошо зарекомендовавшая себя при разработке приложений самой разной направленности;
поддерживается множество баз данных (MySQL, PostgreSQL, MSSQL, SQLite, Oracle);
отлично написанная документация с примерами позволит быстро освоить фреймворк;
CodeIgniter очень быстр в работе. Его считают эталоном скорости генерации страниц.
Пример – разработка с помощью CodeIgniter простого приложения вывода строки приветствия
Создание контроллера welcome.php:
<?php
class Welcome extends Controller {
function Welcome()
{
parent::Controller();
$this->load->model('User_model', 'users'); // указание подключаемой модели
}
function index()
{
$this->load->view(welcome_message'); // указание файла отображения приветствия codeigniter
}
function say_hello($id=1) {
$data['name'] = $this->users->name($id);
$this->load->view('hello', $data); // указание файла отображения views и данных
}
}
Создание модели user_model.php:
<?php
class User_model extends Model {
function name($key) {
$names = $this->names();
return $names[$key];
}
function names() {
return array(1 => "Admin", 2 => "User"); // в зависимости от переданного параметра будет
} вывод имени соответствующего пользователя
}
?>
Создание view hello.php:
<html>
<head>
<title>Welcome to CodeIgniter</title> </head>
<body>
<h1><font color=red> Hello, <?=$name?></h1>
</body>
</html>
Запуск приложения:
Задание к работе:
Ознакомиться с теоретическим материалом.
Создать приложение согласно варианту (использовать элементы из таблицы 1 первого задания)
Разработать структуру приложения
Создать скрипт на php для ввода и выдачи результата, используя MVC
Оформить отчет согласно требованиям.
Отчет должен содержать:
Название и цель работы.
Ход работы с детальным описанием выполненных действий с рисунками, листингом кода.
Экранные формы браузера с загруженными страницами.
Выводы о проделанной работе.
Вопросы для подготовки к защите работы:
Особенности реализация взаимодействия модулей согласно концепции MVC
Структура фреймфорка
Особенности существующих фреймворков для php.