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