Ваш первый Сайт С использованием РНР-скриптов

ПРОСТЕЙШИЙ КНИЖНЫЙ ИНТЕРНЕТ-МАГАЗИН

Вот мы и дошли до Интернет-магазина. Сейчас покупка по Интернету становится таким же обычным делом, как и покупка в реальном магазине. Пока данный вид торговли в нашей стране составляет малую долю от общего товарооборота, но в недалеком будущем, я уверен, большинство покупателей будут приобретать товары сидя за компьютером, а не бегать по магазинам за поиском того или иного товара. Вы заказываете товар, оставляя свои кон­тактные данные и адрес на сайте магазина, и получаете через несколько дней свой заказ. Расплачиваться можно либо наложным платежом, при получении заказа, либо сразу электронными деньгами (об этом чуть позже). Мы созда­дим на сайте простой Интернет-магазин. С пом(кцью РНР можно легко сде­лать мини-Интернет-магазин, т. е. установить на сайт форму заказа, которая будет отправляться вам по электронной почте. Посетитель выбирает товар, оставляет в текстовых полях формы свой электронный и домашний адреса и отправляет заказ вам по электронной почте. Причем отправка осуществля­ется автоматически, при нажатии в форме кнопки «Отправить». Наш элек­тронный магазин будет выставлять на продажу книги, хотя вы сами можете выставить все, что угодно. Продаваемые книги будут выведены в ячейки че - тырехколонной таблицы. У меня, например, там выведено 6 книг (рис. 9.1). Посетитель, придя на главную страницу магазина (она у нас будет называть­ся magazin.php), выберет себе книгу, количество экземпляров. Внизу будет показана общая стоимость выбранных книг. Если он захочет узнать какую - либо информацию о книге, то ему будет достаточно нажать кнопку мыши на ее названии, и тогда в отдельном окне выведется интересующая нас ин­формация, а также фотография товара (книги) (рис. 9.2).

198

После заполнения текстовых полей «Ваше имя», «Ваш E-mail», «Адрес доставки», посетитель нажимает кнопку «Заказать». Все, заказ направляется на ваш электронный адрес и выводится в удобочитаемом виде, а посетитель направляется на страницу, где видит свой заказ и благодарность за него (рис. 9.3).

Йтатт


Интернет-магазин,

Укажите свобкш», тШШ-ш

Выберите товары, которые вы хотите приобрести, указав

А. В? ааеяа (50PJ6)

"ГЗ

(100 и*>

£ояи«й:етв« зкземюйфов:

Д. tояето!

£ояичеств« зкзенпщхт-

С Есенин Сборник стихов

_^ачество шаешиифев.

4 Тожяо* Шт

<20*>уб)

КоЛЯЧвССВб ЭКЗСМПЛЯрО»'

А. Воройлов

Sahara Соаа^оЙ СЙСТСМЫ С^руб.)

£ОЯ|РИГСТ8<> экземпляре»;

КвЙИЧвСТ^О ЗОКСЗСННЫ* КНИГ, $ , : - f -.f К*j - ^- -

' Qtom Cywm жша: 595 , ^

ВавБ-ш*!

Адрес доставка-

Л Яувджя Сборяюсетйхов

£«я«чешк> яаямгаиро»

(loopje.)

Количество экземпляров

ГЦ

А. Т«ястой

Шт

Экземпляров

ОЗ

Л Воронцов

ТЗ

Обцсм сумлм

Рис. 9.1

Назад |Xj [tfj ^ ^ Поиск ^Избранное ф

Адрес Http //localhost/MvBooMmaga? in/books/booto006 Q Переход Ссылки w

А-Воронцов Плшетьх Солнечной ЫШШа. /

ПРОСТЕЙШИЙ КНИЖНЫЙ ИНТЕРНЕТ-МАГАЗИН

•ПО

СсяаечноЙ системы

@Готово

. ^ Местная интрасвть

..................................... - '............ л:-<;:;••*»

Ms


Рис. 9.2

Шшнм

Поступил заказ А Пушкин (Сборник стихов)-1 шт М Булгаков (Собачье сердце)-2 шт JI Толстой (Война и мир)-3 шт | ' А. Воронцов (Планеты Солнечной системы)-3 ил­от клиента. Александр

Электронный адрес клиента Interstrog@narod пд jj Адрес и контактные данные клиента. 126000, Москва, ул. Белогвардейская, д. 12, кв. 33

Jj Заявка отправлена. Благодарим за заказ!

Рис. 9.3

Для отправки заказа на ваш электронный адрес используется встроенная php-функция mail(email, tema, soob, zagolovki). Первый аргумент email- элек­тронный адрес получателя, т. е. ваш электронный адрес. Второй аргумент Tema - тема сообщения, третий аргумент soob - само сообщение. Четвертый, необязательный аргумент zagolovki - заголовки сообщения. Заголовки быва­ют следующих видов:

From - содержит электронный адрес отправителя, т. е. в нашем случае - ад­рес посетителя, сделавшего заказ в магазине;

Reply-To - позволяет указывать адрес для ответа на сообщение; Content-Type - указывает тип содержимого сообщения (text/plain или text/html). Например, для нормальной отправки сообщения на русском языке необходимо передать заголовок: Content-Type: text/plain; charset= Windows-1251;

Content-Transfer-Encoding - указывает количество бит для передачи символа (для сообщений на русском языке необходимо 8 бит). Для нормальной от­правки сообщения на русском языке необходимо передать заголовок: Content- Transfer-Encoding: 8bit.

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

Приведу Пример: Mail("Interstrog@narod. ru", "Тест", "Всем Привет!", "From: Noname@narod. ru nReply - То: noname@narod. runContent - Type: text/plain; charset=windows-l 251").

Функция mail отправит на адрес Interstrog@Narod.Ru сообщение от посе­тителя с адресом Noname@Narod.Ru. В сообщении с темой «Тест» будет фраза «Всем привет!».

Новый товар в магазин будет добавляться вами через административную панель (файл admin.php), где вы будете указывать автора и название посту­пившей в продажу книги, опишите эту книгу и загрузите на сервер фотогра­фию товара (рис. 9.4). После нажатия вами кнопки «Отправить» будет созда­на новая PHP-страница для данного товара и фотография. Все данные о това­ре, введенные вами в административной панели, и его фотография и будут выведены на созданной странице, которая будет вызываться кликом мыши на названии книги на главной странице магазина (см. рис. 9.2).

ПРОСТЕЙШИЙ КНИЖНЫЙ ИНТЕРНЕТ-МАГАЗИН

Рис. 9.4

Вход на страницу admin.php мы, естественно, закроем паролем, чтобы за­ходить на нее смогли бы только вы. Для этого надо вспомнить, как мы созда­вали административную панель для редактирования и написания новостей для сайта (файл redaktNovost.php в гл. 5).

Если вы разобрались с предыдущими главами, то код нашего электрон­ного магазина не должен вызвать у вас затруднений. Если что-то подзабыли, повторите разбор кода для файла redaktNovost.php, а также разбор кода для файла statji.php (листинг 6.3). В файле statji.php мы использовали теги <meta> для вывода названий и авторов статей. Нечто похожее мы будем ис­пользовать и в этой главе. В теги <meta> мы будем записывать автора книги, название книги, цену за книгу и выводить содержимое этих тегов на главную страницу магазина.

Итак, в рабочей папке htdocs создайте новую подпапку magazin. Именно в ней мы и будем хранить все файлы нашего электронного магазина. Чтобы не «изобретать велосипед» в созданную подпапку magazin скопируем соз­данные раньше программы, которые нам понадобятся. Из папки risynki, кото­рую мы создали в прошлой главе, скопируйте файл zagryzka.php (листинг 8.6) и вставьте в папку magazin. Эта программа, если помните, загружает графи­ческие файлы на сервер. Мы ее немного изменим. Откройте файл za­gryzka.php в РНР-редакторе (открывать нужно из папки magazinl). Уберите в начале кода строку вместе с открывающейся фигуркой скобкой:

If ($_POST['otpr 7==true) {■

В конце кода нужно, естественно, убрать и одну закрывающуюся скобку:

}■

Измените строку: If(Сору($_FILES["zak "]["tmp name "], "kart/". $file)) На Строку:

If(copy($ FILES ["zak"] ["tmp_name"], "books/fotoshop/".$file)). У нас фотогра­фии товаров будут храниться в папке fotoshop, которая, в свою очередь, будет находиться в папке books (эти папки создадим позже).

Еще удалите строку:

Echo "<а href=# onClick= 'history. backQ '><ЬиПоп>Вернуться</ЬиПоп></а> Поскольку она здесь не будет нужна.

Если вы все сделаете правильно, то файл zagryzka.php из папки magazin Будет выглядеть, как в листинге 9.1.

Листинг 9.1 (файл Zagryzka. php из папки magazin) <?php

$zak=$_POST['zak'];

$file=$_FILES['zak']['name'];

$size=$_FILES[,zak,][,size, l;

If($size> 1024*1024*2)

{

Echo "Размер файла не должен превышать 2 МБ! Повторите попытку.<Ьг>";

Exit(); }

$ext=array(".jpg",".gif',".png",".JPG",".GIF",".PNG");

If(in_array(strrchr($flle, "."), $ext)) {

If(copy($_FILES["zak"]["tmp_name"b "books/fotoshop/".$file)) {

Echo "Файл ".$file." объемом: ".$size." байт успешно закачан!<Ьг>"; }

Else {

Echo "Ошибка при закачке файла! Повторите попытку.<Ьг>";

Exit(); }

}

Else {

Echo "Расширение закачиваемых файлов должно быть jpg, png или gif! Повторите попытку.<Ьг>";

ExitO; }

?>

Это почти копия листинга 8.6 из гл. 8, поэтому разбирать я его не буду. Далее из папки novosti скопируйте файл для создания пароля newpa- rol.php (листинг 5.5 из гл. 5) и тоже вставьте его в папку magazin. В эту же папку скопируйте и листы стилей stil.css, stili2.css (я их создавал с такими на­званиями) либо создайте новый файл стилей, который вы будете использо­вать для оформления текста.

В папке magazin создайте теперь новую подпапку books, где будут нахо­диться программно созданные страницы и картинки для каждого товара. Те­перь в подпапку books скопируйте опять листы стилей, чтобы текст на про­граммно созданных страницах был тоже красиво оформлен. И, наконец, если вы хотите хранить фотографии товаров в отдельной папке, то ее тоже нужно создать. Создайте в папке books подпапку fotoshop, где и будут храниться эти фотографии (названия всех подпапок можете задать свои, но при этом вы должны указать эти названия в кодах программ). Итак, в главной рабочей папке htdocs мы создали папку magazin. В папке magazin создали папку Books, а в папке books создали папку fotoshop. Теперь можно создавать ос­новные страницы для нашего магазина. Их будет 3, и все они должны быть сохранены в папке magazin. Первый файл magazin.php будет являться глав­ной страницей или витриной вашего магазина, на которой будут выставлены товар и форма для отправки заказа от посетителя (рис. 9.1). Там же будет на­ходиться и калькулятор для подсчета общей стоимости выбранных книг. Второй файл magazin2.php будет обрабатывать данные посетителя, показы­вать текст с заказом в браузере (рис. 9.3) и отправлять этот текст к вам на E-mail. И, наконец, третий файл admin.php будет являться вашей администра­тивной панелью с формой, при помощи которой вы сможете добавлять новый товар (книгу) на витрину магазина и закачать фотографию для данного това­ра. Эта же программа создает новую PHP-страницу для каждого товара с описанием и фотографией этого товара (рис.9.2), которую посетитель при желании может посмотреть.

Ваш первый Сайт С использованием РНР-скриптов

Создание сайта

Итак, при помощи данной книги вы создали сайт. Конечно, сайт в таком виде не очень привлекателен, так как он создавался исключительно для при­мера. Но используя полученные знания в этой книге, …

ИСПОЛЬЗОВАНИЕ СЕРВИСА ROBOXCHANGE ДЛЯ ОПЛАТЫ

Если у вас нет никакой возможности получить персональный аттестат, или просто лень это делать, то для оплаты товаров со своего сайта вы можете воспользоваться сервисом Roboxchange. Этот сервис дает возможность …

ИСПОЛЬЗОВАНИЕ СЕРВИСА WEB MERCHANT INTERFACE ДЛЯ ОПЛАТЫ

Сервис Web Merchant Interface позволяет получать денежные средства на свои электронные кошельки от клиентов при оплате ими электронных товаров на вашем сайте. Электронные кошельки WebMoney и Yandex мы с вами …

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Партнеры МСД

Контакты для заказов оборудования:

Внимание! На этом сайте большинство материалов - техническая литература в помощь предпринимателю. Так же большинство производственного оборудования сегодня не актуально. Уточнить можно по почте: Эл. почта: msd@msd.com.ua

+38 050 512 1194 Александр
- телефон для консультаций и заказов спец.оборудования, дробилок, уловителей, дражираторов, гереторных насосов и инженерных решений.