Tein lomakkeen kotisivuille ja sain sen lopulta joten kuten toimimaan, mutta...
Kun kotisivulla lomakkeesta klikkaa "Lähetä", niin esiin tulee Windowsin keltainen varoituskolmio ja teksti: "This form is being submitted using e-mail. Submitting this form will reveal your e-mail address to the recipient ... ...
... You may continue or cancel this submission."
Tuon tekstin jälkeen kukaan ei varmaan uskalla painaa "OK".
No, palaute tuli kuitenkin (testatessa) perille. Miksi tiedot tulevat liitetiedostona postdata.att ? Ja millä sellainen pitäisi avata?
Miten saisin tästä ihan tavallisen lomakkeen, jossa Lähetä-nappia painamalla tiedot tulevat minulle sähköpostiin?
KIITOS kaikista selkokielisistä vastauksista :-)
Onko sivuillasi PHP-tuki?
Jos on, niin käytä mail() funktiota
Tuo sinun koodisi toimii aivan prikulleen oikein. Noin sen pitäisikin tehdä. Palaute lähetetään käyttämällä sähköpostia joka on määritelty IE:n oletussähköpostiohjelmaksi. Postdata.att sisältää palautteen url-koodattuna elikkä kaikki skandit ja erkioismerkit on muunnettu esim: %E4 tyylisiksi kirjainpotikoiksi. Tiedoston voit avata vaikka notepadilla, mutta merkkejä on hieman vaikea lukea. Parempi tapa tehdä palautelomake on laittaa formin actioniksi esim: palaute.php ja methodiksi get tai post. Sitten vain väsäät palvelimellesi php-koodin joka ottaa palautteen muuttujiin ja tallentaa tiedostoon. Näin palaute ei mene sähköpostiisi vaan palvelimelle tiedostoon. Tällä tavalla lähettäjän sähköpostia ei käytetä lähetykseen ja windows ei varoittele mitään, koska lähettäminen on turvallista.
Eli siis vaikkapa:
<form method="POST" action="lomakkeenkasittelija.php">
Heissan,
Sain nyt lomakkeen viimein toimimaan, mutta se käyttää lähettäjän sähköpostiosoitetta, eikä huvittaisi enää ruveta muuttelemaan sitä kovasti...
Mitä tapahtuu jos lähettäjällä ei olekaan sähköpostia?
Tiedot tulevat nyt suoraan sähköpostiini (ei siis liitteenä).
Miten saan laitettua niin, että saan vain sellaiset tiedot, joihin on jotain täytetty? Nyt saan kaikki sellaisetkin kentät, joihin ei ole mitään täytetty.
Lomake on tavallinen html-lomake, joka menee cgi-lomakkeenkäsittelijälle.
Kiitos vielä teille kaikille ihanille fiksuille, jotka tiedätte näistä asioista! **niiaa niksauttaa**
Niin mitä siinä lomakkeesi action kentässä nyt oikeastaan lukee?
Tuosta viestistäsi kun saa hieman ristiriitaisen käsityksen:
- "Sain nyt lomakkeen viimein toimimaan, mutta se käyttää lähettäjän sähköpostiosoitetta"
- "Lomake on tavallinen html-lomake, joka menee cgi-lomakkeenkäsittelijälle"
Nimittäin jos oikein olen ymmärtänyt niin cgi:llä ei pysty lähettämään sähköpostia käyttäjän oletussähköpostiohjelmalla (jolloin tuo lähettäjän osoite näkyisi).
Hei ederth,
Action-kenttä on seuraavanlainen: <FORM ACTION="http://jokusivu.com/cgi-sys/FormMail.cgi" METHOD="POST">
Ja sähköpostiini saapuessaan lähettäjänä näkyy lähettäjän sähköpostiosoite, esim. matti.meikalainen@kolumbus.fi
Kokeileppa method="get".
Ja sitten siihen kenttien tutkimiseen. Sen voisi toteuttaa JavaScriptillä, mutta jos lähettäjällä se on off niin se ei toimi. Tee sinne cgihin koodi joka tutkii formien sisältöä.
Onko tuon FormMail.cgi:n sorsa nähtävillä kenties jossain?
Luulisin että formmail.cgi lukee tuon sähköpostiosoitteen lomakkeessa olevasta email kentästä (onhan siinä sellainen?) ja liittää sen lähetettyyn viestiin. Sähköpostin lähetyksen kannalta on täysin sama onko tuota osoitetta edes olemassa, vastaaminen viestiin vain muodostuu mahdottomaksi.
lainaus:
Miten saan laitettua niin, että saan vain sellaiset tiedot, joihin on jotain täytetty? Nyt saan kaikki sellaisetkin kentät, joihin ei ole mitään täytetty.
Tämä onnistuu muokkaamalla formmail.cgi:tä, tai javascriptillä, joka tosin ei taas ole kaikilla käytössä.
edit: mielummin method="POST" kuin get
Tai tee koko sivusto fläshillä niin voit koodata kenttien tutkimisen ja tietojen lähetyksen actionsriptillä (helppo kieli!) ja ulkonäkökin on siisti reunanpehmennyksien takia.
lainaus:
Tai tee koko sivusto fläshillä niin voit koodata kenttien tutkimisen ja tietojen lähetyksen actionsriptillä (helppo kieli!) ja ulkonäkökin on siisti reunanpehmennyksien takia.
Tai lyö turpiin tuollaisen ehdottajaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.