|

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
|