Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #30, МАЙ 2003 г.

MEGAMAGAZINE - мутим элитный сетевой журнал

Леха ББ & Космос

Спецвыпуск Xakep, номер #030, стр. 030-024-2


Название номера: <INPUT name="name"><br>

<table border="1" cellpadding="0" cellspacing="0"width="95%" align="center" bgcolor="#CCCCCC" bordercolorlight="#000000">

<tr><td>

<b>1.</b><br>

Название статьи: <INPUT name="name1" size=50><br>

Предполагаемый объем статьи: <INPUT name="size1" size=4>, Kb<br>

Комментарии: <BR>

<TEXTAREA NAME="comment1" rows=3 cols=50></TEXTAREA>

<HR>

<b>2.</b><br>

Название статьи: <INPUT name="name2" size=50><br>

Предполагаемый объем статьи: <INPUT name="size2" size=4>, Kb<br>

Комментарии: <BR>

<!-- Тут в таком же духе формочки -->

<TEXTAREA NAME="commentN" rows=3 cols=50></TEXTAREA>

<HR>

</td></tr>

</table>

<INPUT type="Submit" value="Создать план">

</FORM>

Форма очень проста, даже безо всяких JS-проверок на заполненность форм, которые, честно говоря, не помешают. После заполнения плана и нажатия кнопки "Создать план" будет произведено обращение к скрипту plan.pl, который будет заносить содержание плана в файл с названием "№_журнала.txt", а в файл plan.ind - номер и название готовящегося журнала. Остается только написать такой скрипт :). Для обработки скриптом данных из форм понадобится процедура FormInput, которую можно скачать на сайте winfo.org. Вообще, она понадобится для всех перловых скриптов, которые будут рассмотрены в данной статье, так что рекомендую за нею слазить.

Полностью рассматривать написание скрипта не считаю целесообразным, ибо абсолютные новички даже в таком случае ничего не поймут, а разбирающиеся уже и так достаточно знают. Для плана отведи отдельную директорию, например, plans. Туда будет заноситься все связанное с планом. Приведу только пример обработки полученных форм и из записи в файл (опять же простейший вариант).

#обработка полей Номера и Названия

$number=$input{'number'};

$name=$input{'name'};

#запись в файл списков планов

open(PLN, ">>$plans_ind");

print PLN "$number;$name\n";

close (PLN);

#как будет обзываться файл нового плана

$plan_file=$plans_dir.$number.'.txt';

#обработка форм по темам плана

#количество выбирать под свои нужды

$name[1]=$input{'name1'};

$name[2]=$input{'name2'};

$name[3]=$input{'name3'};

$name[4]=$input{'name4'};

$size[1]=$input{'size1'};

$size[2]=$input{'size2'};

$size[3]=$input{'size3'};

$size[4]=$input{'size4'};

$comment[1]=$input{'comment1'};

$comment[2]=$input{'comment2'};

$comment[3]=$input{'comment3'};

$comment[4]=$input{'comment4'};

#запись в файл обработанных переменных через разделитель ;

open (PLA, ">>$plan_file");

for ($i=1; $i<=4; $i++)

{

print PLA "$name[$i];$size[$i];$comment[$i]\n";

}

close (PLA);

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

Архив планов

Обладающих настолько феноменальной памятью людей, которые помнят все о том, что, где и когда было написано, не так много. Поэтому надо держать архив планов, чтобы можно было посмотреть, не писалось ли то же самое до этого. Поскольку уже ведется список номеров и файлы планов, то задача создания архива сильно упрощается. Надо будет только написать скрипт-обработчик этих файлов. Суть такого скрипта в том, что он должен открывать список журналов и выдавать их номера и названия. При выборе того или иного номера скрипт выдаст в удобоваримом виде план в виде названий статей, объема и комментариев (то, что заполнили ранее).

Назад на стр. 030-024-1  Содержание  Вперед на стр. 030-024-3