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

архитектурно-художественная академия»

ИНСТИТУТ УРБАНИСТИКИ

Отчет по практике.

ПО ДИСЦИПЛИНЕ:

НА ТЕМУ:

Разработка сайта в PHP.

 

 

Кафедра прикладной информатики в социальных коммуникациях Исполнитель: Мамонтов М.А..
Специальность 080801 Группа: ЗПИ-351/09
«Прикладная информатика (в области социальных коммуникаций)» Руководитель практики: Черемисин И.Н.  
Дата защиты:    

 

 

Екатеринбург

2012.

Введение.

PHP — один из наиболее распространенных языков веб-программирования. С его помощью можно построить любой по сложности и функциональности динамический сайт. PHP позволяет добавлять продвинутые технологии на сайт и единственное ограничение в работе PHP – это человеческое воображение.

В данной работе я продемонстрирую решение таких актуальных задач как установить локальный веб-сервер, осуществить подключение к MySQL из PHP, создать базу данных, и рассмотреть основы языка и PHP-скрипты.


 

Теоретическая часть: Описание технологий HTML, PHP, MySQL, Denver.

HTML -(англ. сокр. Hyper Text Markup Language - язык гипертекстовой разметки). HTML - это специальный язык разметки для веб-страниц. Этот язык стандартизован и значения каждого тега строго определены. Каждый тег имеет определенные атрибуты. HTML-код страницы интерпретируется браузерами и переводится в изображение веб-страницы, которое видит пользователь.

PHP (Personal Home Page Tools) — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере (например Denver). и работы с базами данных.

Если обычные HTML-страницы можно открыть обычным браузером, то PHP - это полноценный скриптовый язык, который требует подключения специальных библиотек.

СУБД MySQL - одна из множества баз данных, поддерживаемых в PHP.

SQL - это аббревиатура от слов Structured Query Language, что означает структурированный язык запросов. Этот язык является стандартным средством для доступа к различным базам данных. Система MySQL представляет собой сервер, к которому могут подключаться пользователи удаленных компьютеров.

Denver — это локальный сервер, основные задачи которого - проверка скриптов, работа с MySQL.

PhpMyAdmin – это администрирование СУБД MySQL. Здесь можно создать, удалить и управлять базами данных наших сайтов, которые создадим локальном сервере (localhost) Denwer.

Для работы с MySQL в phpMyAdmin. можно создать новую базу данных, создать новую таблицу в выбранной базе данных, заполнить таблицу данными, а также добавлять, удалять и редактировать данные.

Практическая часть.

1.Работа с Денвером

Создание сайта начинается с установки Denver’a. При установке локального сервера вместе с ним установился также и MySQL сервер, благодаря которому можно создавать огромное количество баз данных. После того, как база данных создана и наполнена данными, ее можно перенести на реальный хостинг. Это очень удобно. Мы можем создать на локальном сервере любой по сложности сайт, а затем просто перенести его на хостинг.

При установки Denver’a автоматически устанавливается виртуальный диск Z, зайдя на него, мы увидим папки. В папке localhost\home\www, автоматически созданной программой для размещения сайта, в будущем можно создавать свои папки, в которые можно помещать свои разработки.

2.Создание Базы Данных (БД)

Для для того чтобы разместить сайт на веб-локальном сервере, создаем БД в phpmyadmin

Для того, чтобы создать БД необходимо проделать несколько действий:

1. Запускаем локальный веб-сервер.

2. Набираем в строке браузера: localhost/tools/phpmyadmin/. Этим самым мы зайдем на MySQL сервер:

3. В поле «Создать новую БД» прописываем латинскими буквами название базы данных и нажимаем кнопку «Создать». Я создала БД под названием «base1», которая будет хранить в себе сайт.


Здесь говорится, что БД реально создана. Однако, она пока не содержит ни одной таблицы.

Создание таблицы БД

Для того, чтобы создать таблицу в базе данных необходимо проделать следующее:

1. Выбрать необходимую базу данных.

2. Задаем название (имя) таблицы для БД и указываем сколько полей должно в ней быть.

Cоздадим таблицу goods с 5 полями:

1) id — идентификатор таблицы (уникальный номер);
2) name — название;
3 ) about — информация;
4) price — цена;
5) img — фотография.

Итак, задаем имя таблицы, указываем, что она должна состоять из 5 полей. После этого нажимаем кнопку «Gо». В результате на экран выведется наша, наполовину созданная, таблица.

 

3. Заполняем поля таблицы.

При заполнении полей таблицы необходимо руководствоваться определенными правилами. Название параметра следует писать маленькими латинскими буквы. При написании названия параметра допускается использовать символы нижнего подчеркивания и тире.

Следует знать, что любая таблица должна иметь уникальное поле (идентификатор или ключ). По этому полю можно идентифицировать любую запись таблицы. В качестве идентификатора в примере будет использоваться поле «id» (необходимо указать при заполнении этого поля, что оно является первичным ключом). Также необходимо учитывать типы данных и длину поля таблицы.

Рассмотрим основные типы данных MySQL:

1)INT — целочисленный тип (целые числа, например, 1,2,3);

2) DOUBLE — (числа с плавающей точкой, например, 1.2, 2.0);

3) VARCHAR — вещественный тип (короткий текст, длиной до 255 символов);

4) TEXT — текстовый тип (длинный текст, например, текст целой статьи);

5) DATE — тип дата (дата в формате гггг-мм-дд);

6) DATETIME — тип дата и время (дата и время в формате гггг-мм-дд чч:мм:сс);
7) TIME — тип время (время в формате чч:мм:сс).

Поле «Ноль» позволяет задать два значения: «null» — поле таблицы базы данных может быть пустым и «not null» — поле таблицы должно быть заполнено. Поле «id» необходимо указать, как первичный ключ и поставить ему авто инкремент (в графе «Дополнительно» выставить значение «auto_increment»).

После того, как требуемые поля таблицы заполнены, нажимаем кнопку «Сохранить» («Save»). Если при заполнении не были допущены ошибки, наша таблица будет создана. В противном случае, нас проинформируют об ошибке. Таким образом, на данном этапе мы научились создавать базу данных и таблицу для нее.

Заполнение таблицы MySQL.

Итак, для того, чтобы заполнить таблицу данными необходимо зайти на локальный сервер. После этого выбираем базу данных «base1» и переходим в необходимую таблицу (в моем примере таблица называется «goods»), как показано на рисунке:

 

Для того, чтобы добавить новую запись в таблицу необходимо нажать по ссылке «Вставить» «Insert». После этого появится специальная форма для ввода: Поле «id» заполняется автоматически, поэтому его заполнять не нужно. Необходимо заполнить следующие поля: «name» (имя), «about» (информация), «price» (цена) и» «img (фотография). B поле «name» вводим название товара, например: холодильник intesit. В поле «about»:описание холодильника:2-камерный холодильник, имеет 2 морозильных камеры. «Price»:например 20000.«img»: прописываем номер и формат изображения, которое хотим поместить. Таким образом, в таблицу «goods» добавляем еще несколько любых товаров и персонально по каждому товару заполняем поля «name», «about», «price» и» «img.

После того, как поля заполнены, ставим галку «Вставить новую запись» «insert a new record»— это позволит вывести после сохранения записи форму заново. Далее нажимаем «Go». Записи можно добавлять, редактировать и удалять. Для редактирования записи необходимо нажать по иконке «карандаш» возле записи, для удаления записи — нажать по «крестику». Также можно редактировать или удалять одновременно несколько записей. Для этого записи необходимо пометить галочками и, после этого, нажать соответствующую иконку. Таким образом, таблицу данными мы заполнили.

По аналогии в БД base1 помимо таблицы «goods» мы создаем таблицы:

«groups» (c 4-мя полями: «id» «name», «about» и «image»).

«comments» (c 4-мя полями: «id» «name», «fio», «cdata»).

«news» (8-полей: Field, Type, Collation, Null, Default, Exstra, Action)

3. Написание скриптов.

Заходим на диск Z. В папке localhost\home\www cоздаем файл index.php, который будет ключевым файлом сайта. Осуществим динамическое наполнение страницы ниже приведенными скриптами:

<? include "main.php";?> //-" подключение файла main.php "

<?

$link=mysql_connect('localhost','root',''); //-скрипт соединение с mysql –сервером.

mysql_select_db('base1'); //- выбор базы данных base1

$sql='SELECT*FROM goods'; //- выбрать товары

$res=mysql_query($sql); //-выполнить запрос

for($i=0; $i<mysql_num_rows($res);$i++){ // вывести результаты

$row=mysql_fetch_array($res); //возврат объектов из результирующего множества.

print '<img src="'.$row['img'].'" width=100>'; //выводим изображения по ширине.

}

<? include "end.php";?> // подключение файл end.php

В index.php содержится ссылка на main.php. Здесь присутствуют инструкции присоединения к базе данных mysql-сервера. Отображается перечень товаров. Содержится ссыла на end.php

Далее создаем файл и называем main.php. Main.php –это главная стран ица сайта. В этом фойле присутствуют таблица:

Заголовок сайта.

Фон: <Body background="sky.gif">

Таблица сайта с товарами.

<table width=100% border="1">

<tr>

<td colspan=2>

Категории сайта:

<h2>

<a href="index.php">Главная </a> |

<a href="catalog.php">Каталог </a> |

<a href="news.php">Новости </a> |

<a href="orders.php">Корзина </a> |

</td>

</tr>

Обращение к файлу catalog.php

Создаем файл catalog.php. Он служит для хранения информации о товарах. catalog.php ссылается на main.php..В нем присутствует форма поиск товара по названию:

<form>

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

<input type=submit value="поиск">

</form>

Также в catalog.php. присутствует разбивка товаров по группам:

$sql='SELECT*FROM goods';

$name=$_GET['name'];

if ($name){

$sql=$sql." WHERE name like '%".$name."%'";

}

$group=$_GET['group'];

if ($group){

$sql=$sql." WHERE g_n=$group ";

}

catalog.php ссылается на end.php

Файл end.php. Создадим его.

end.php ссылается на таблицу комментариев:

$sql='SELECT*FROM coments';

$res=mysql_query($sql);

for($i=0; $i<mysql_num_rows($res);$i++){

$row=mysql_fetch_array($res);

for($i=0; $i<mysql_num_rows($res);$i++){

$row=mysql_fetch_array($res);

print '<div style="color:#906090">'."Дата: ".$row['cdate2'].'</div>';

print '<div style="color:#ff0000">'."Логин: ".$row['fio'].'</div>';

print "Комент: ".$row['name'].'<br>'.'<br>';

}

?>

<form action="addcommets.php">

ФИО:<input tupe=text name=fio> <br>

КОМЕНТ:

<TEXTAREA ROWS=5 cols=60 name=name></TEXTAREA>

<input type=submit vavue="go">

</form>

Прописан формат шрифта такста на странице и цвет.

Создаем файл аddcommets.php. Он нужен для написания комментариев на странице:

<?

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

mysql_select_db('base1');

$fio=$_GET['fio'];

$name=$_GET['name'];

$sql="INSERT INTO coments (name,fio) SELECT '".$name."','".$fio."'";

$res=mysql_query($sql);

?><h2>Комментарий добавлен</h2>

<a href="index.php>на главную</a>

Файл news.php с лужит для написания новостей на стронице. news.php ссылается на main php и and.php.

Orders.php

Это ссылки для тестирования корзины.

Такие ссылки добавляются рядом с каждым товаром в каталоге сайта.

<a href="orders.php?add_id=1">Добавить в корзину Товар 1</a>

<a href=" orders.php?add_id=2">Добавить в корзину Товар 2</a>

<br>

Это ссылка для очистки корзины:

<a href=" orders.php?del_cart=1">Очистить корзину</a>

<?

// Соединение с сервером БД

$link = mysql_connect("localhost", "root", "") or die("Ошибка");

mysql_select_db("test"); // выбор нужной БД

// Если переменная корзина не определена(зашли в первый раз) - сделать ее пустым массивом

if (!$_SESSION['cart'])

{

$_SESSION['cart']=array();

}

// Если данный метод test.php вызван с параметром add_id (например http:// orders 1.ru/ orders t.php?add_id=5), значит нужно добавить в корзину товар с кодом 5 (id=5), другими словами добавляем в массив код товара

$add_id=$_GET['add_id']; // Присвоить переменной $add_id значение параметра add_id из адресной строки

if ($add_id) {// если в адресной строке задан параметр add_id

$_SESSION['cart'][]=$add_id; // добавляем в массив корзины код товара

}

// Если данный метод test.php вызван с параметром del_cart (например http://test1.ru/ orders.php?del_cart=1), значит нужно очистить всю корзину, Так как корзина хранится в переменной $_SESSION['cart'], нужно присвоить ей пустой массив array()

$del_cart=$_GET['del_cart'];

if ($del_cart) {

$_SESSION['cart']=array();

print "Корзина очищена!";

}

$cart_text='';

// Посчитать число элементов массива

$N=count($_SESSION['cart']);

// Вывести на экран, сколько в корзине позиций

print "ВАША КОРЗИНА: позиций - ".$N;

for ($i=0;$i<$N;$i++) {// Цикл, чтобы показать все позиции в корзине

// Получить текущий элемент массива

$id1=$_SESSION['cart'][$i];

//Напечатать код текущего товара (то есть элемент массива с номером $i)

print $id1;

// SQL-Запрос в БД - получить позицию с кодом $id1, чтобы вывести ее название, цену и т.д.

$sql = "select * from goods WHERE id=".$id1;

print $sql; // Вывести запрос на экран - в целях отладки

$result = mysql_query($sql); // Выполнить запрос

$row = mysql_fetch_array($result);// Получить в переменную $row строку из запроса (то есть позицию с кодом $id1 из таблицы goods)

print "<div>";

print $row['name']."<br>";

print "</div>";

// Добавить в перменную $cart_text текстовую информацию о текущем товаре

$cart_text=$cart_text."id=".$id1." Название:".$row['name']." ";

}

// Далее сделан механизм добавления заказа в БД. Нужно создать в БД таблицу orders с полями fio,phone,email,remark (тип TEXT)

// Проверим была ли отправлена форма заказа.условие $_POST['save_order'] срабатывает, если пользователь нажал кнопку <input type="submit" name="save_order" value="Сохранить заказ"> (эта кнопка описана в форме ниже)

if ($_POST['save_order']) {

// В форме ниже есть 4 текстовых поля ввода: fio, phone, email, remark: нам нужно считать из них информацию, которую туда ввел пользователь. Это можно сделать с помощью $_POST

$fio=$_POST['fio'];

$phone=$_POST['phone'];

$email=$_POST['email'];

$remark=$_POST['remark']." ".$cart_text;

// Сохранить заказ в таблицу orders

$sql="INSERT INTO orders

(fio,phone,email,remark) SELECT '$fio','$phone','$email','$remark';";

$result = mysql_query($sql);// Выполнить запрос, то есть добавить заказ в БД

print $sql;

print "Ваш заказ успешно сохранен. Наш оператор свяЖется с Вами";

// Очистить корзину после сохранения заказа

$_SESSION['cart']=array();// Очистить корзину

}

?>

Это просто форма HTML, которая нужна для оформления заказа.

action="test.php" - это означает, что при нажатии кнопки Сохранить заказ, браузер перейдет на страницу test.php, то есть на этот же метод

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

<br>

<br>

Заполните форму, чтобы сделать заказ:

<br>

ФИО: <input type="text" name="fio">

<br>

Телефон: <input type="text" name="phone">

<br>

Email: <input type="text" name="email">

<br>

Email: <TEXTAREA name="remark" rows=5 cols=50><?print $_GET['remark']?></TEXTAREA>

<br>

<input type="submit" name="save_order" value="Сохранить заказ">

</form>


 

Заключениe.

PHP - это язык обработки гипертекста, используемый на стороне сервера, конструкции которого вставляются в HTML-текст. Его цель - позволить максимально быстро создавать динамически генерируемые web-страницы. РНР имеет много возможностей (совместимость с различными серверами и платформами, поддержка различных технологий, использование различных протоколов, наличие функций для работы с текстовыми данными любых форматов, включая XML, работа с базами данных, простой синтаксис и т.д.), но несмотря на это существует недостаток - бесплатность. Для создателей рядовых сайтов это плюс, но для серьезных компаний, дорожащих своей репутацией, это минус. Технология практически идеальна для разработки развлекательного или коммерческого интернет-проекта (например, интернет-магазина).

Поделиться:





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



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