Bydgoska TopNet oferuje do użytku publicznego własny system przetwarzania formularzy, opracowany przez Marcina Ledworowskiego. System ten pozwala w nieskomplikowany sposób ominąć trudności związane z wysyłaniem formularzy z przeglądarki Internet Explorer 2 i 3, będąc uniwersalnym mechanizmem, akceptowanym przez wszystkie przeglądarki interpretujące formularze.
TopNet Mailer ma tę zaletę, że skrypt CGI, który przetwarza formularz, jest położony w kraju i osoba wysyłająca formularz nie jest zależna od ruchu na międzynarodowych łączach, które często są bardzo obciążone.
Konstrukcja formularza jest dość prosta. Jej kluczowe elementy są zawarte w ukrytych polach, odwołujących się do mechanizmu skryptu CGI. Przykładowa postać formularza wygląda następująco (wiersze wytłuszczone):
<form action="http://www.byd.top.pl/cgi-bin/mailform.cgi" method="POST">
Pierwszy wiersz odwołuje się do położenia skryptu na serwerze TopNet i określa metodę (POST).
<input type="hidden" name="includelabel" value="yes">
Drugi wiersz określa, czy poczta, którą otrzyma autor formularza, będzie zawierała opisy pól. Domyślnie jest przyjęta wartość "yes".
<input type="hidden" name="mailto" value="jan.kowalski@firma.com.pl">
Trzeci wiersz określa adres zwrotny, czyli na ogół adres autora ankiety, pragnącego otrzymywać informacje od czytelników.
<input type="hidden" name="mailfrom" value="Jan Kowalski">
Czwarty wiersz zawiera opis przesyłającego formularz (jego znaczenie jest nieco enigmatyczne)
<input type="hidden" name="mailsubject" value="Zamówienie">
Piąty wiersz określa temat przesyłki pocztowej, którą otrzyma autor formularza (treść w polu "temat" lub "subject").
<input type="hidden" name="desturl" value="http://www.firma.com.pl/dziekuje.htm">
Szósty wiersz podaje adres strony, która zostanie wyświetlona osobie wysyłającej. Strona ta zawiera po prostu potwierdzenie wysłania (a najlepiej uprzejme podziękowanie...)
Właściwa treść formularza, czyli po prostu pytania.
<input name="submit" type="SUBMIT" value="Wyślij do nas informacje">
Definicja przycisku wysyłającego ankietę.
<input name="reset" type="RESET" value="Usuń wszystkie informacje">
Definicja przycisku usuwającego wprowadzone już dane.
</form>
Jeśli autorowi formularza zależy na tym, aby pewne pola w formularzu zostały wypełnione, powinien umieścić po ostatniej literze nazwy pola (name) litery RQ - np. input name="Imię i nazwiskoRQ". Jest to skrót od "required", czyli "wymagane". Jeśli osoba wysyłająca formularz nie wypełni ich, serwer przypomni o tym obowiązku.
I przykładowy formularz, wysyłany na fikcyjny adres pocztowy, który obrazuje działanie. Jeśli chcesz sprawdzić, jak wygląda przesyłka pocztowa, przetestuj skrypt z własnymi danymi (będzie to coś w tym rodzaju):
Imie i nazwisko=PW E-mail=p@w Komputer=PC Pentium System operacyjny=Windows 95 Przegladarka WWW=Internet Explorer Przegladarka WWW=Netscape Navigator Opinia=ąćęłńóśźż ĄĆĘŁŃÓŚŹŻ submit=Wyślij do nas informacje Message sent on : Sat Dec 6 00:54:47 1997 ----------------------------------------- mailform 0.93 beta (C)1997 Marcin Ledworowski mailto:marcinl@top.pl http://www.byd.top.pl
Sprawdź, jak to działa.