echo "REMOTE_HOST=$REMOTE_HOST"
echo "REMOTE_ADDR=$REMOTE_ADDR"
echo "REMOTE_USER=$REMOTE_USER"
echo "AUTH_TYPE=$AUTH_TYPE"
echo "CONTENT_TYPE=$CONTENT_TYPE"
echo "CONTENT_LENGTH=$CONTENT_LENGTH"
echo ""
29.5. Введение в методы get и post
До сих пор мы рассматривали только вывод данных на экран. Для получения информации, введенной пользователем, следует использовать формы, при создании которых применяются сценарии cgi. В любом случае требуется средство, реализующее обработку результатов пользовательского ввода. Благодаря формам можно отображать текстовые поля, раскрывающиеся меню и переключатели.
После того как пользователь выполнил ввод или выбрал некоторые данные в форме, он может щелкнуть на кнопке send для передачи введенной информации сценарию, в данном случае -cценарию cgi. Как только информация будет введена, "в игру вступают" методы get и post.
Для любой формы по умолчанию используется метод get. Это один из методов применяемых для выборки файлов из статических HTML–страниц.
Как только пользователь щелкнет на кнопке submit, информация, которая была выбрана или выбирается пользователем, добавляется к URL сервера в виде закодированной строки. Затем эта закодированная строка присваивается переменной среды сервера, query_string. Переменная request_method также используется для хранения метода формы.
Создание простой формы
Создадим простую форму,_ реализующую ссылку из документа main.shtml на сценарий books.cgi.
Вставьте следующие две строки после последней записи ссылки, которая была создана в файле main.shtml:
Basic form using GET method Form1
Теперь введите следующий код и сохраните его в файле books.cgi; не забудьте поместить этот файл в каталог cgi‑bin.
$ pg books.cgi
#!/bin/sh
# сценарий books.cgi
echo "Content‑type: text/html"
echo ""
echo ""
echo ""
# вызов books_result.cgi, затем пользователь щелкает на кнопке отправки
echo "
echo "
CGI FORM
"
#текстовое поле, результаты ввода присвоены переменной с именем 'contact' echo "Your Name:
"
#раскрытие выбранного пункта меню, присвоенного переменной 'film'
echo "
echo "
echo "
echo "
echo "
echo "
echo "
echo "
echo "
echo ""
# раскрытие выбранного пункта меню, присвоенного переменной 'actor'
echo "
echo "
echo "
echo "
echo "
echo "
echo "
echo ""
echo "
"
# имена переменных флажков 'view_cine' и 'view_vid'
echo "Do you watch films at the..
"
echo " Cinema"
echo " On video"
echo "
"
# результаты ввода, присвоенного переменной 'textarea'
echo "Tell what ls your best film, or just enter some comments
"
echo ""
echo "
"
echo ""
echo "" echo "