Иллюстрированный самоучитель по PHP

Отправка заказа

Итак, в любом месте файла-обработчика формы, но лучше всего в начале, следует поместить следующий сценарий:

<?php
$zak="";
(В эту переменную будем последовательно собирать названия заказанных товаров.)
if ($TOV1>0){$zak="$zak Название товара 1 – $TOV1 шт.\n"; }
if ($TOV2>0){$zak="$zak Название товара 2 – $TOV2 шт.\n"; }
…

И такие же строчки – для каждого товара. В качестве имени переменной в условной части блока if ($… >0) указывается значение параметра пате соответствующего тэга <select…>, а в последующих фигурных скобках – название того товара, к которому этот тэг относился на странице-витрине. В результате в том случае, если посетитель изменил значение какого-либо выпадающего списка на число, отличное от нуля, то в переменную Szak, которая впоследствии станет текстом отправляемого письма, включается название товара, соответствующего этому выпадающему списку, и сведения о количестве его заказанных единиц – та величина, которая в конце концов и оказалась значением этого выпадающего списка.

Теперь завершим составление текста письма:

$zak="C адреса $email от заказчика с контактными данными $contact пришла
 заявка на приобретение товара: \n$zak";

…и отправим письмо-заявку:

mail ("электронный адрес владельца сайта", "Заказ на товар", $zak, "From: $email\nReply-To:
 $email\nContent-Type: text/plain; charset=windows-12 51");?>

В результате выполнения этой команды тот, кто обрабатывает заказы, получит аккуратный список заказанных товаров и сведения о заказчике (см. рис. 5.5). Причем если посетитель правильно ввел свой е-mail, то для связи с ним после получения письма достаточно нажать кнопку "Ответить" или ей подобную в почтовом клиенте – этот e-mail подставляется в заголовок письма From:.

Письмо будет отправлено через почтовую программу, находящуюся на сервере – программы на компьютере посетителя никак не будут затронуты.

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

Иллюстрированный самоучитель по PHP › Простейший интернет-магазин › Отправка заказа
Рис. 5.6. Заказ сделан – можно уходить и ждать…

В приведенном сценарии вместо одноименных элементов формы переменных можно использовать и соответствующие элементы массивов $HTTP_POST_VARS и (в РНР версии старше 4.1) SPOST. Например, строка добавления в текст заказа нового товара будет выглядеть как:

if ($HTTP_POST_VARS['TOV1']>0){$zak="$zak Название товара 1 –
".$HTTP_POST_VARS['TOV1']." шт.\n"; }

…строка генерации письма – как:

$zak="C адреса ".$HTTP_POST_VARS['email']. " от заказчика с контактными данными
".$HTTP_POST_VARS['contact']." пришла заявка на приобретение товара:\n$zak";

…и команда отправки письма – измененная по тому же принципу.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.