Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практика PHP.docx
Скачиваний:
17
Добавлен:
08.11.2019
Размер:
500.82 Кб
Скачать

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, работа с базами данных, простой синтаксис и т.д.), но несмотря на это существует недостаток - бесплатность. Для создателей рядовых сайтов это плюс, но для серьезных компаний, дорожащих своей репутацией, это минус. Технология практически идеальна для разработки развлекательного или коммерческого интернет-проекта (например, интернет-магазина).

16