1999, Сергей Голубицкий
Сегодня Голубятня навеяна письмом читателя Александра Балякина: "Отдаляетесь от ламерской темы. То про mailing листы, то про СD креаторы... Меня, допустим, сейчас интересует совсем другое: как заставить работать формы в хтмл страницах". Вот и родилась тема. Наверное, вопрос оживления форм волнует не только
Александра, но и всех уважающих себя ламеров. Вообще же, я планирую несколько
Голубятен подряд посвятить именно программам для интернета -серьезным
редакторам html (надо же, наконец, поставить на место всякие там Фронтпейджи!),анализаторам логов, оптимизаторам соединений и т.п.
Я помню, как первый раз в жизни решил создать интерактивную страничку в
интернете. Запустил редактор, нарисовал форму, отослал на сайт, пошел
тестировать. Вот дурилка картонная: кликаю мышкой на кнопке "Отправить"
и ничего не отправляется. Товарищей программистов на зарплате прошу не
издеваться: меня любой ламер поймет. Именно так все мы, ламеры, и воспринимаем реальность программирования: нечто вроде магического мира с волшебными
палочками. Вот есть мертвая форма и как ее не тормоши, она не оживет.
А вот подошел волшебник в колпаке, поковырялся, палочкой помахал и все
заработало.
Спустя еще какое-то время я узнал, как называлась волшебная палочка для оживления формы - cgi-script ("си-джи-ай-скрипт"). Еще я узнал, что скрипт пишут на языке, который называется Perl. Хотя можно писать на C, но предпочитают
Перл. Потом в 1995 году я оказался в офисе компании "ИнфоАрт" и во время экскурсии, которую мне устроили, сразу заметил паренька-доходягу с толстыми линзами очков и тоненькими ручонками. На его столе лежала огроменное книжище
под названием "ПЕРЛ". "Вот он, - подумал я, - тот самый перловый программист. Не сегодня - завтра умрет от истощения". После посещения этого хосписа мое уважение к "скриптам" достигло мифических размеров.
Как всякий самоуверенный ламер я решил познакомиться с Перлом поближе и принялся читать умные книжки. Но из всех программистских книжек, книжки о Перле оказались самыми наглыми. Весь их пафос сводился к одному: "Орлы, ну мы
то с вами понимаем, что на C++ здесь должна стоять скобка, но в нашем Перле - все проще". Эдакий междусобойно-элитарный клуб любителей упрощенных вариантов. Короче говоря, у ламера есть только два способа оживить свои
формы: нанять перловщика или найти скатерть-самобранку.
Ну а теперь - хорошие новости. Такие "самобранки" существуют. Мне известно целых две. О них и поведаю.
Первая "си-джи-ай писалка" - CGI Star Pro .Самое в ней веселое - это довесок Professional в названии. Звучит как подлинное издевательство, потому что у профессионала CGI Star Pro ничего кроме тошноты вызвать не может. Зато для ламера - это спасение. Справиться с ней сумеет даже конченый аутист. Все, что требуется - это:
1. Нарисовать форму;
2. Запустить CGI Star Pro и выбрать тип сервера - под Unix или NT;
3. Открыть html страницу, содержащую вашу форму. После этого CGI Stap Pro проверяет код, предупреждает об отсутствии обязательных полей (например, User_name, User_mail) и дает рекомендации по правильному написанию формы.
4. Пометить звездочкой (*) те поля формы, которые обязательны к заполнению;
5. Указать точный сетевой адрес, где будет размещаться скрипт, а также местоположение юниксовских программ mail и perl;
6. Написать простенький текст для сообщения, которое получит посетитель вашей страницы после того, как удачно заполнит форму и ...
Все! Нажимаете на кнопку "Write CGI" и программа сама генерирует код. Ради
интереса откройте созданный файл и попробуйте сосчитать, сколько лет вам
бы потребовалось для того, чтобы самому залудить такую абракадабру.
После создания скрипта самое главное - правильно перебросить его на сервер.
В 90 случаях из ста ламерский скрипт не работает именно из-за того, что
его неправильно перебрасывают. Дело в том, что у протокола ftp бывает
два метода передачи данных: АSCII (для текста) и binary (для программ).
Скрипты с расширением cgi следует передавать не как программу, а как текст,
то есть ASCII.
Конечно, сказать, что возможности CGI Star Pro очень узкие, значит ничего не сказать. На самом деле си-джи-ай скрипты используются не только для интерактивных
форм, но и для миллиона прочих полезных дел: ведение статистики посещений
сайта, создание гостевой книги, опрос мнений, создание интерактивных тестов
и квизов, проведение шлюзов к реляционным базам данных, осуществление
поиска и индексирования сайтов и т.п.
И тут у ламера есть еще два варианта: во-первых, посетить
сайт где покоится неплохая коллекция самых разнообразных скриптов на все случаи жизни. Другой вариант - это программа PerlBuilder . Только сразу хочу предупредить: PerlBuilder - это не CGI Star Pro. Тут нажиманием двух кнопочек не отделаешься. Зато и возможности программы на несколько порядков выше.
PerlBuilder претендует на то, чтобы считаться не просто программой, но подлинной интегрированной средой разработчика (IDE - integrated development environment) для создания скриптов Перл на платформе Windows 95/NT. Помимо очень удобного графического интерфейса, PerlBuilder обладает возможностью отлаживать скрипт и проводить его дебаггинг, что говорится, "не отходя от кассы" (правда, для этого требуется дополнительно установить бесплатный Перл для Windows). Помимо
этого в PerlBuilder включен Мастер подсказок, который на порядок более гибок, чем CGI Star Pro, хотя по своей простоте не уступает австралийскому примитивисту.
Под самую завязку хочу поделиться двумя неудачами. Первая связана с темой предыдущей
Голубятни - программой EZ CD Creator. Не прошло и полгода,как программа буквально отомстила за то, что я раскрыл тайну ее местоположения в мировой сети: CD Creator не просто рухнул на моем компьютере сразу после установки SCSI сканнера и присоединения его к той же карте, что и прожигатель дисков. Нет, это было бы очень просто. CD Creator потащил за собой в могилу и всю операционную систему: он что-то там поковеркал в aspi-драйвере и Windows отказалась загружаться навсегда. Пришлось возвращаться к предыдущей версии 3.5: в ней хоть и нет микрософтовских скрепок-дебиляшек, зато работает как часы.
Вторая неудача косвенно инспирирована Ильей Хрупаловым: я прочитал очередной его обзор и приобрел анонсированный графический планшет Professional Pal. Windows NT категорически отказалась распознавать новую железяку, хотя тайваньский паренек буквально божился, что у него есть драйверы под эту операционную систему. Я, как водится, начал ковыряться и что-то там подправлять и через полчаса операционная система приказала долго жить - пришлось и ее переустанавливать с нуля.