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); В списке планов добавление нового номера происходит в последней строке. Помни об этом - еще пригодится. Приведенное выше хозяйство можно дополнить проверкой на пустоту, чтобы не делать лишних строчек, и еще чем-нибудь. Но это уже на твое усмотрение. Архив планов Обладающих настолько феноменальной памятью людей, которые помнят все о том, что, где и когда было написано, не так много. Поэтому надо держать архив планов, чтобы можно было посмотреть, не писалось ли то же самое до этого. Поскольку уже ведется список номеров и файлы планов, то задача создания архива сильно упрощается. Надо будет только написать скрипт-обработчик этих файлов. Суть такого скрипта в том, что он должен открывать список журналов и выдавать их номера и названия. При выборе того или иного номера скрипт выдаст в удобоваримом виде план в виде названий статей, объема и комментариев (то, что заполнили ранее). |