Help (php, html jne.)
-
Hei!
Onko kellään koodia jonka avulla saa kyselylomakkeesta lähetettyä tiedot itselleen sähköpostiin. Eli jos sivuilla on vaikka html koodilla rakennettu kysely lomake
nimi:
sähköposti:
lemmikin nimi:lähetä nappula
Kuinka lähetys nappulaa painamalla saan tiedot omaan sähköpostiini esimerkiksi?
Käytän altervistaa pohjana, joten jos on muita keinoja kuin omaan sähköpostiin lähetys saa kertoa.pitääkö tää tehä php koodilla tai javascriptillä yms?
-
Tästä sivusta voisi olla apua. Itselle tuli myös mieleen, että ainakin Google Formsilla pystyy tekemään helposti tuollaisia lomakkeita
-
PHP:lla tai muulla serveripuolen teknologialla onnistuu. Javascript toimii selaimessa, eli sillä ei voi ilman välikäsiä lähettää sähköpostia.
Ensin tulee rakentaa lomake, jonka uloimpana rakenteena on form-tagi. Form-tagin sisällä on inputteja, joihin käyttäjä voi mm. syöttää dataa. Inputteja löytyykin hyvin tuosta Hazelin laittamasta linkistä. Lähetyspainike on myös input, tyyppiä
type='submit'
, ja sitä painamalla kaikkien form-tagin sisällä olevien inputien arvot lähetetään sille sivulle, joka on määritelty form-tagin action-attribuutissa. Jos action-attribuutti puuttuu, lomake lähettää tiedot samalle sivulle kuin missä itse lomake sijaitsee.
Yksinkertainen esimerkki html-lomakkeesta: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_actionPHP:lla pääsee käsiksi lomakkeen dataan inputtien name-attribuutin perusteella. Array, jossa kaikki nämä arvot sijaitsevat on useimmiten joko
$_GET
tai$_POST
, ja se voidaan määrätä html form-tagissa olevan method-attribuutin perusteella. Yleisimmin sähköpostilomakkeissa käytetään POST-metodia.
Esimerkki lomakkeen käyttämisestä PHP-sivulla: https://www.w3schools.com/php/php_forms.aspJotta saat käyttäjän inputteihin syöttämän datan omaan sähköpostiisi, tulee käyttää PHP:n sisäänrakennettua
mail()
-funktiota. On myös järkevää käsitellä tai tarkistaa inputtien dataa jotenkin ennen kuin postitat sen sähköpostiisi esim. XSS-hyökkäysten tai roskapostituksen varalta, mutta en mene siihen nyt sen pidemmin.
PHP mail-tietosivu: https://www.php.net/manual/en/function.mail.php -
This post is deleted!