Kłopoty z wysyłaniem formularzy przez wcześniejsze wersje Internet Explorera (2 i 3) skłaniają do stosowania uniwersalnych narzędzi, które będą w stanie przejąć na siebie to zadanie. Przez dłuższy czas takim narzędziem był Toolbox Mailer, który jednak zaprzestał swojej działalności, pozostawiając "na lodzie" wielu użytkowników. Także niektóre inne systemy nie działają idealnie, gdyż albo nie przetwarzają poprawnie całej informacji na stronie (MailForm), albo wymagają specjalnej konfiguracji serwera pocztowego (FormMail).
Dla przeciętnego użytkownika ideałem jest system przetwarzania formularzy, który nie wymaga specjalnych zabiegów, uzyskiwania haseł, kodów itd. Lwia część internautów nie musi stosować specjalnych zabezpieczeń, więc prosty i skuteczny system jest im naprawdę potrzebny, jeśli chcą zamieszczać na swojej stronie ankiety.
Choć rozwiązań jest wiele, pragnę przedstawić prosty w działaniu serwis, wystawiony pro publico bono przez firmę Response-O-Matic (http://www.response-o-matic.com/). Na nim jest w tej chwili oparta ankieta w naszym kursie.
Niezbędne minimum kodu jest zaskakująco małe. Wystarczy bowiem podanie adresu skryptu przetwarzającego formularz, mieszczącego się na serwerze Response-O-Matic, następnie ukryte pole definiujące adres autora formularza, a także dwa jawne pola: dla nazwy/nazwiska oraz adresu pocztowego osoby wypełniającej ankietę. Poza tym w ramach formularza należy, rzecz jasna, zamieścić właściwą treść.
Przykładowa postać formularza:
<FORM>
<FORM action="http://www.response-o-matic.com/cgi-bin/rom.pl" method="POST">
<INPUT TYPE="hidden" NAME="your_email_address" VALUE="p.wimmer@lupus.waw.pl">
<INPUT TYPE="text" NAME="visitor_name" VALUE="" SIZE=60>
<INPUT TYPE="text" NAME="visitor_email_address" VALUE="" SIZE=60>
...
Treść formularza
</FORM>
visitor_name i visitor_email_address są nazwami kluczowymi, podobnie jak i nazwy w szeregu innych ukrytych pól, o których powiemy niżej.
Gdybyśmy wysłali tak skonstruowaną ankietę, serwer wyświetli stronę potwierdzającą wysłanie wiadomości i pokaże jej zawartość.
Date: Wednesday, November 26, 1997 Time: 06:09 PM EST Submitted by: Jan Kowalski (jan.kowalski@firma.com.pl) Submitted to: (p.wimmer@lupus.waw.pl)
Oprócz tych informacji na stronie ukażą się także dwa bannery reklamowe, co potraktujmy już jako niezbędną rekompensatę za udostępnienie serwisu.
Z kolei autor ankiety otrzyma w poczcie następującą wiadomość
A visitor to your website submitted this form. ============================================================================ Date: Wednesday, November 26, 1997 Time: 06:09 PM EST Submitted by: Jan Kowalski Email address: (jan.kowalski@firma.com.pl) ============================================================================ End of submission Thank you for using RESPONSE-O-MATIC! http://www.response-o-matic.com
Oprócz pól niezbędnych do poprawnego funkcjonowania formularza, możemy zamieścić szereg dalszych pól, dostarczających dalszej informacji lub formatujących ją.
<input type=hidden name="your_name" value="Jane Smith">
Pole spowoduje wyświetlenie nazwy/nazwiska autora (Jane Smith) w polu Do: (To:) przesyłki pocztowej i na stronie potwierdzającej wysłanie formularza.
<input type=hidden name="email_subject_line" value="Odpowiedź na ankietę">
Pole służy do wyświetlania tematu (Odpowiedź na ankietę) na stronie potwierdzającej i w polu Temat: (Subject:) przesyłki pocztowej.
<input type=hidden name="required_fields" value="visitor_email_address,wiek,płeć,stan cywilny">
Pole służy do określenia, które pola należy wypełnić przed wysłaniem formularza. Autor powinien to wyraźnie zaznaczyć w formularzu, natomiast serwis wyświetli stronę z informacją o błędzie, gdyby któreś z tych przykładowych pól nie zostało wypełnione. Nazwy pól należy rozdzielać przecinkami, a w nazwach pól można stosować spacje.
<input type=hidden name="field_order" value="alphabetical">
Pole spowoduje alfabetyczne posortowanie pól na stronie potwierdzającej i w poczcie.
Alternatywnie możemy wyliczyć kolejność pól:
<input type=hidden name="field_order" value="pole1,pole4,pole2,pole8...">
Użycie tego pola nie jest konieczne - skrypt sam ustali kolejność wyświetlania.
<input type=hidden name="thank_you_title" value="Dziękuję za uwagi!">
Pole służy do wyświetlenia komentarza lub podziękowania za wypełnienie formularza.
<input type=hidden name="return_link_url" value="http://your-domain.com/index.html">
<input type=hidden name="return_link_name" value="Powrót do strony głównej">
Pierwsze pole zawiera adres strony, do której powracamy za pomocą kliknięcia na nazwie odsyłacza w następnym polu. Może to być np. adres strony głównej serwisu.
<input type=hidden name="background_image" value="http://www.your-domain.com/image.gif">
Pole zawiera adres pliku GIF, który może być tłem strony potwierdzającej wysłanie formularza.
<input type=hidden name="background_color" value="#FFFFFF">
W tym polu określamy kolor tła strony, za pomocą wartości heksadecymalnej.
<input type=hidden name="text_color" value="#000000">
<input type=hidden name="link_color" value="#FF0000">
<input type=hidden name="visited_link_color" value="#0000FF">
<input type=hidden name="active_link_color" value="#00FF00">
Cztery kolejne pola definiują kolor tekstu, odsyłaczy, odsyłaczy już odwiedzonych i odsyłaczy aktywnych (w trakcie łączenia) na stronie potwierdzająej wysyłkę.
Imię i nazwisko lub jakikolwiek pseudonim: Adres poczty elektronicznej: Wpisz coś (przepraszam, że nie będę odpowiadać...)