Hyvä ihminen! Tämä ei ole blogin etusivu. Täällä on tagiin "lomakkeenkäsittelijä" kytketyt jutut.
Textpatternin käyttäjien eloa helpottamaan on luotu useita lomakkeenkäsittelijöitä, eli sellaisia lomakevirityksiä joiden avulla nettisivuilta voidaan lähettää sähköpostitse dataa johonkin sähköpostiosoitteeseen. Omakohtaisten kokemusten perusteella voin suositella esimerkiksi palautelomakkeen luomisessa käytettäväksi zem_contact_reborn-nimistä TXP-liitännäistä. Se on osoittautunut helpoksi asentaa ja käyttää. Se myös tyrehdyttää roskapostisaastan virtaamisen sähköpostilaatikkoosi. Näin vuolaita sanoja, eikä aiheetta.
Liitännäisen asentaminen ei vaadi kummoisia taitoja. Lomakeplugin tarvitsee toimiakseen oheisesta listasta näkyvät kaksi ylintä pluginia. Alimmainen, pop_contact_cleaner ei ole vaadittu lisäosa, mutta se on toki hyvä ladata ja asentaa jotta saadaan lomakkeelle entistäkin enemmän turvaa.
Alimmainen spammisuojaus lisää lomakkeen loppuun seuraavanlaisen koodirimpsun, joka houkuttelee spammirobotteja täyttämään ne.
<div style="visibility: hidden"><input type="text" name="phone" value="" id="phone" /><br /><input type="text" name="mail" value="" id="mail" /></div>
Nuo eivät siis näy tavalliselle ihmismäiselle käyttäjälle. Ne näkyvät esimerkiksi spammimasiinalle, joka tutkii nettisivun lähdekoodia ja yrittää sieltä merkkauksen seasta poimia lomakkeen tietoja. Nähdäkseni spammia lähettävä taho yrittää täyttää kaikki lomakkeen kentät, koska sen jälkeen yleensä voidaan lomakkeen tiedot lähettää eteenpäin. Tämä pop_contact_cleaner kuitenkin huijaa niitä pieniä spammiveijareita, sillä yllä näkyviin lomake-elementteihin ei tule syöttää minkäänlaista tietoa — jos nuo input-kentät täytetään, tarkoittaa se suojausjärjestelmälle sitä, että kyseessä on spammeri. Silloin lomakkeen tietoja ei lähetetä käsiteltäväksi… Ja niin tai näin roskapostia ei siis tule.
zem_contact_reborn on enemmänkin kuin vain lomakkeenkäsittelijä. Se mahdollistaa tavallisten palaute- ja yhteydenottolomakkeiden tekemisen ja käyttämisen, mutta sen sisälle on rakennettu myös toiminto, minkä avulla Textpatternilla julkaistun artikkelin voi lähettää sähköpostitse kaverille. Artikkelin vastaanottajan sähköpostiosoitteen voi määritellä käyttäjä itse.
Yksinkertaisen lomakkeen luominen onnistuu pistämällä muutaman rivin koodia Textpattern-sivuston lähdekoodiin, josta TXP sen sitten suorittaa kun sivu ladataan. Käytännössä oheisesta koodista syntyy suunnilleen samanlainen lomake kuin se joka sijaitsee tämän “blogin palautesivulla“http://www.kuopassa.com/weblog/palaute/. Lomakkeen ulkoasua voi tietenkin muokata CSS:n avulla. Samoin lomakkeen ilmoituksia (virheilmoitukset, kiitosviestit).
<txp:zem_contact to="etunimi.sukunimi@kuopassa.com">
<txp:zem_contact_text label="Nimi" min="3" />
<txp:zem_contact_textarea label="Viesti" />
<txp:zem_contact_email />
<txp:zem_contact_submit label="Lähetä palaute" />
</txp:zem_contact>
Tagit: lomakkeenkäsittelijä, plugin, txp
Futuron Hostingin foorumissa on juttua lomakkeesta. Viestiketjun aloittaja kyselee kuinka saada lomake toimimaan ja lähettämään lomakkeen tiedot haluttuun sähköpostiosoitteeseen.
Erityisen kiinnostavaa tässä viestiketjussa on etenkin se viesti, jossa kerrotaan lomakkeenkäsittelijästä cgiemail.
Cgiemail on ollut minulle täysin tuntematon lomakkeenkäsittelijä, en siihen ollut aiemmin edes tutustunut. Kaikki käyttämäni ja tekemäni verkkolomakkeet ovat käyttäneet FormMailia. Nytpä kuitenkin perehdyin ainakin pintapuolisesti myös cgiemailiin. Tein pienen testilomakkeen, jonka lähdekoodi näyttää suunnilleen tältä:
<form method="post" action="http://www.kuopassa.com/cgi-bin/
cgiemail/palaute_cgiemail_testi1.txt">
<input type="hidden" name="success" value="http://www.kuopassa.com/kiitos.shtml" />
<input type="hidden" name="failure" value="http://www.kuopassa.com/error.shtml" />
<label for="nimesi">Nimesi:</label>
<input name="required-nimi" type="text" id="nimesi" />
<label for="email">Sähköpostiosoitteesi:</label>
<input name="required-sposti" type="text" id="email" />
<label for="kenganro">Kengännumerosi:</label>
<input name="kenka" type="text" id="kenganro" />
<input type="submit" value="Lähetä" />
</form>
Lomakkeenkäsittelijälle ilmoitetaan erillisessä tekstitiedostossa ainakin lomakkeen vastaanottajan sähköpostiosoite sekä lomakkeen otsikkokenttä. Lomakkeen lähettämän datan muotoilua voi viilata tätä tekstitiedostoa muokkaamalla.
Tagit: lomakkeenkäsittelijä
Käytettäessä nettisivulla lomakkeenkäsittelijänä FormMailia, voidaan määritellä verkkolomakkeelle pakolliset kentät, jotka käyttäjän on täytettävä, että lomake lähtee vastaanottajalle.
Vaaditut kentät ilmoitetaan FormMail-lomakkeenkäsittelijälle seuraavanlaisella input-kentällä (ko. kenttä on piilotettu, type="hidden"):
<input type="hidden" name="required"
value="nimi, viesti" />
Pakolliset kentät kirjoitetaan attribuutin value sisään:
value="nimi, viesti"
Mikäli pakollisia kenttiä on useampia, voidaan ne erotella pilkulla. Yllä näkyvä esimerkki ilmoittaa lomakkeenkäsittelijälle, että pakollisia kenttiä on lomakkeessa kaksi kappaletta ja että niiden nimet ovat nimi ja viesti.
Toiminnan miehet ja naiset pääsevät kokeilemaan käytännössä em. vaadittuja kenttiä esimerkiksi Kuopassa.comin palautelomaketta testaamalla.
Suosittelen lukemaan myös FormMailin ohjeen (englanniksi), jossa kerrotaan tarkemmin kyseisen lomakkeen toiminnoista.
Tagit: lomakkeenkäsittelijä