-
Pomoc
- Poczta
- Hosting
- Hosting
- Business Web
- Kreator WWW
- Rejestracja
- Przedłużenie
- Transfer
- Sklepy
- Certyfikaty SSL
- Kaspersky Internet Security 2011
- Zarządzanie
-
Zarządzanie usługami
nowy Panel - Obsługa
- Funkcje
- Aplikacje
- Kursy
Dokumentacja Funkcje serwera
Biblioteka skryptów CGI
Odbiór danych z formularzy
Skrypt /cgibin/formmail umożliwia odbiór danych z formularzy znajdujących się na stronach WWW i ich wysłanie na określony adres e-mail.
Konfiguracja formmaila jest dwustopniowa:
- W pierwszym kroku tworzysz formularz pracując na kodzie strony. Definiujesz pola i nadajesz im nazwy.
Formularz umieść na stronie WWW między znacznikami: <FORM> a </FORM>. Poszczególne pola formularza zdefiniujesz komendą <input />. W najprostszej postaci źródło formularza wygląda tak:
<form action="/cgibin/formmail" method="post">
<input name="recipient" value="formmail@company.home.pl" type="hidden" />
Imię i nazwisko: <input name="name" size="20" />
<input value="Wyślij!" type="submit" />
</form>
Zauważ, że w formularzu znajduje się pole ukryte (TYPE=HIDDEN), o nazwie recipient, które zawiera adres e-mail odbiorcy danych. Pole to koniecznie musi wystąpić w kodzie. Możesz podać także kilku odbiorców formularza, wymieniając ich adresy po przecinku.
Ze wzgledu na bezpieczeństwo pole recipient może być wyłącznie adresem w sieci home.pl Jeżeli jest inaczej - list kierowany jest na główny adres konta WWW - nazwa@home.pl
2. W następnej kolejności określasz parametry działania skryptu. Chodzi tu o zdefiniowanie pól wymaganych, wyglądu strony, na którą ma być przekierowany użytkownik po wypełnieniu formularza (poprawnym lub błędnym) oraz wyglądu listu, który otrzymuje zbierający dane.
Zdefiniowanie sposobu działania może odbywać się za pomocą znanych już nam pól ukrytych w formularzu albo szablonów.
Skrypt współpracuje jedynie z formularzami umieszczonymi w tej samej domenie, co wywoływany formmail. Oznacza to, że ze skryptu nie mogą korzystać serwisy nie utrzymywane w home.pl oraz te, które odwołują do skryptu w innych domenach (np. do http://home.pl/cgibin/formmail zamiast do /cgibin/formmail).
Pola ukryte
Skrypt, oprócz opisanego już pola recipient, obsługuje ponadto inne specjalne pola, których zawartość wpływa na działanie skryptu (w nazwach pól istotna jest wielkość liter).
- require - rozdzielona przecinkami (nazwa1,nazwa2,nazwa3) lista nazw pól, które w formularzu muszą być wypełnione. W przypadku, gdy któreś z wymienionych pól pozostanie puste skrypt wyświetli informację o błędzie lub przekieruje na stronę zdefiniowaną parametrem missing_redirect,
- email - adres zwrotny przesyłki - od kogo adresowane będą listy zawierające dane,
- redirect - adres strony w formacie http://serwer/ścieżka, na którą skrypt przekieruje po prawidłowym wypełnieniu formularza i przyjęciu danych,
- missing_redirect - adres strony, na którą skrypt przekieruje w przypadku braku danych w polach określonych jako require,
- subject - temat listu wysyłanego po wypełnieniu formularza,
Poniżej - kod przykładowego formularza, który wykorzystuje wszystkie funkcje:
<FORM ACTION="/cgibin/formmail" METHOD=POST>
<INPUT TYPE=HIDDEN NAME="recipient" VALUE="info@domena.pl">
<INPUT TYPE=HIDDEN NAME="require" VALUE="name,email">
<INPUT TYPE=HIDDEN NAME="redirect" VALUE="http://domena/sukces.htm">
<INPUT TYPE=HIDDEN NAME="missing_redirect" VALUE="http://domena/error.htm">
<INPUT TYPE=HIDDEN NAME="subject" VALUE="Rejestracja użytkownika">
Imię i nazwisko: <input name="name" size="32" />
Twój adres e-mail: <INPUT NAME="email" SIZE=32>
<INPUT TYPE=SUBMIT VALUE="Wyślij">
i jego wygląd:
Szablony formmaila
Parametry działania skryptu /cgibin/formmail możesz także zdefiniować za pomocą szablonów w Panelu Administracyjnym, zakładka Konfiguracja WWW, sekcja Szablony skryptów.
Parametry zdefiniowane w polach ukrytych mają wyższy priorytet aniżeli szablony - dopiero brak definicji w kodzie HTML powoduje, że skrypt skorzysta z ustawień w Panelu Administracyjnym.
Opis zastosowania poszczeg ólnych szablonów:
- FORMMAIL_TOP - górna część stron generowanych przez skrypt do obsługi formularzy,
- FORMMAIL_BOTTOM - dolna część stron generowanych przez skrypt,
- FORMMAIL_SENT - potwierdzenie wysłania formularza,
- FORMMAIL_ITEM - lista wszystkich wypełnionych pól formularza wraz z wpisanymi wartościami. Dozwolone słowa kluczowe to $NAME (nazwa pola w formularzu) i $VALUE (wpisana wartość),
- FORMMAIL_ERROR - błędne wywołanie skryptu formularza (np. brak adresu e-mail odbiorcy danych),
- FORMMAIL_EMPTY - komunikat o niewypełnieniu wszystkich wymaganych pól (słowo kluczowe $NAME wyświetla nazw tych pól),
- FORMMAIL_SUBJECT - temat listu wysyłanego do odbiorcy formularza,
- FORMMAIL_MAILTOP - wygląd początku listu wysyłanego do odbiorcy. Dozwolone słowa kluczowe:
- $FIELD() - wstawia wartość wprowadzoną w polu o nazwie zdefiniowanej w parametrze,
- $RIGHT(), $LEFT() - wstawia zdefiniowaną w parametrze liczbę spacji od prawej lub lewej strony,
- $ENV() - umieszcza zmienną środowiskową, umożliwiającą zebranie informacji o wypełniającym formularz.
- FORMMAIL_MAILBOTTOM - wygląd stopki listu wysyłanego do odbiorcy, dozwolone słowa kluczowe:
- $FIELD
- $ENV
- $RIGHT, $LEFT.
- FORMMAIL_MAILITEM - element listy danych wysyłanej do odbiorcy, dozwolone słowa kluczowe:
- $NAME
- $VALUE
- $RIGHT, $LEFT.
Oto sposób, w jaki zbudowane są strony generowane przez skrypt formmaila:
| Nazwa | Budowa |
|---|---|
| Strona z potwierdzeniem | FORMMAIL_TOP FORMMAIL_SENT FORMMAIL_ITEM FORMMAIL_BOTTOM |
| Powiadomienie o błędnym wypełnieniu formularza (brak pól wymaganych) | FORMMAIL_TOP FORMMAIL_EMPTY FORMMAIL_BOTTOM |
| Błędne wywołanie skryptu (np. bez adresu e-mail odbiorcy) | FORMMAIL_TOP FORMMAIL_ERROR FORMMAIL_BOTTOM |
| List z danymi | FORMMAIL_SUBJECT (temat)FORMMAIL_MAILTOP FORMMAIL_MAILITEM FORMMAIL_MAILBOTTOM |