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="pawel.wimmer@pckurier.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: (pawel.wimmer@pckurier.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Ω.
Pod koniec 1998 roku Response-O-Matic wprowadzi│a kilka zmian i uzupe│nie± do formularza.
Mo┐na wys│aµ kopiΩ formularza do wskazanej osoby. Jednocze╢nie w polu your_email_address mo┐na podaµ tylko jedn▒ osobΩ (zazwyczaj samego siebie), co razem daje co najwy┐ej dw≤ch odbiorc≤w. Jest to podyktowane zmian▒ stanowiska firmy wobec problemu tzw. spamu.
<input type=hidden name="copy_email_address" value="innaosoba@adres.pl">
Mo┐na dodaµ pole identyfikuj▒ce przegl▒darkΩ internetow▒:
<input type=hidden name="browser_info" value="on">
W odpowiedzi przyjdzie informacja zawieraj▒ca poni┐szy fragment:
Date: Thursday, November 11, 1999 Time: 4:58 PM EST Submitted by: Jan Kowalski Email address: jan.kowalski4@firma.pl Browser Info: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) Subject: Ankieta w kursie HTML
Mo┐liwe jest za┐▒danie, aby skrypt zwraca│ tak┐e zawarto╢µ niewype│nionych p≤l (domy╢lnie przesy│ane s▒ tylko warto╢ci p≤l wype│nionych przez u┐ytkownika):
<input type=hidden name="print_blank_fields" value="on">
Skrypt pozwala uzyskaµ dane ankietowe w postaci przydatnej dla baz danych:
<input type=hidden name="database_format" value="delimiter">
Delimiterem mo┐e byµ dowolny znak, ale je╢li chcemy, aby by│y to dane w formie wygodnej do przenoszenia np. do arkusza kalkulacyjnego, mo┐emy podaµ nazwy delimiter≤w dla Entera czy tabulatora:
<input type=hidden name="database_format" value="tab"> <input type=hidden name="database_format" value="return">
Dane przyjd▒ w formie │atwej do skopiowania przez schowek do arkusza, co pozwoli szybciej je opracowaµ, je╢li je gromadzimy dla jakich╢ cel≤w.
Response-O-Matic zabrania stosowania formularza na stronach "dla doros│ych", stron propaguj▒cych rasizm, wyra┐aj▒cych nienawi╢µ lub zajmuj▒cych siΩ nielegaln▒ dzia│alno╢ci▒. To kolejny przyk│ad dba│o╢ci firmy o netykietΩ, a wymagania autor≤w nale┐y honorowaµ.
Wielko╢µ danych w formularzu nie mo┐e przekraczaµ 50 KB. Nie jest to jasno powiedziane, ale jest to prawdopodobnie objΩto╢µ czystych danych wprowadzanych przez osobΩ wype│niaj▒c▒ formularz, a wiΩc informacji poza ca│▒ "beletrystyk▒" formularza, przygotowan▒ przez autora.
Aby formularz m≤g│ dzia│aµ, nale┐y go koniecznie WYSúA╞ NA SERWER. Nie da siΩ wys│aµ danych testowych z dysku lokalnego!
ImiΩ i nazwisko lub jakikolwiek pseudonim: Adres poczty elektronicznej: Wpisz co╢ (przepraszam, ┐e nie bΩdΩ odpowiadaµ...)