Olis sellanen juttu että pitäis kouluun tehdä sivu, jossa on lomake ja lomakkeessa nappi jota painamalla se lähettää täytetyn lomakkeen tiettyyn sähköpostiin. Ja sitten vielä toinen nappi joka tulostaisi lomakkeen. Kiitos auttajille jo etukäteen.
Siitä tulostuksesta en tiedä, mutta sähköpostia lähetetään funktiolla mail()
.
Voisi tietysti tässä vähän tarkentaa tilannetta.
Eli siis..
Kyseessä on ilmoittautumislomake, jossa on kohdat jotka pitää täyttää ennenkuin pääsee nappia painamaan.
Ja sitten tosiaan sen pitäisi lähettää lomakkeessa olevat tiedot tiettyyn sähköpostiin.
Tulostusnappi ei ole pakollinen, mutta tohon toisen napin tekemiseen olisi kiva saada tarkat ohjeet :)
Ja tietysti myös HTML ratkaisu kelpaa jos sellaista löytyy.
Asiaan liittyen, täältä tietoa PHP:n mail-funktion vaaroista
Tämmöistä olen joskus käyttänyt, kasaa siitä itsellesi sopiva:
<?php if(isset($_POST["teksti"])){ if(strlen($_POST["nimi"]) < 2){ echo("Et antanut nimeäsi."); } elseif(strlen($_POST["email"]) < 5){ echo("Et antanut sähköpostiosoitettasi."); } elseif(!ereg("@", $_POST["email"])){ echo("Antamasi sähköpostiosoite on virheellinen."); } elseif(!ereg(".", $_POST["email"])){ echo("Antamasi sähköpostiosoite on virheellinen."); } elseif(strlen($_POST["otsikko"]) < 3){ echo("Et kirjoittanut palautteellesi otsikkoa (minimi 3 merkkiä)"); } elseif(strlen($_POST["teksti"]) < 10){ echo("Et kirjoittanut palautteeseen tarpeeksi tekstiä (minimi 10 merkkiä)"); ex(); } elseif(strlen($_POST["teksti"]) > 1000){ echo("Palautetekstin pituus on rajoitettu 1000 merkkiin."); } $nim=$_POST["nimi"]; $sahkopos=$_POST["email"]; $otsik=$_POST["otsikko"]; $tekst=$_POST["teksti"]; $emailosoite="ville-v@mbnet.fi"; $aika=date('d.m.Y H:i:s'); @mail("$emailosoite", "$otsik"," Palaute - $otsik Palaute jätetty: $aika Nimi: $nim Sähköposti: $sahkopos Viesti: $tekst ","From: $sahkopos"); echo("Kiitos palautteestasi.<br /><a href=\"/ville-v/\">Etusivulle</a>"); } else{ ?> <form method="post" action="?s=palaute" name="palaute" id="palaute"> <table> <tbody> <tr> <td>Nimi:</td> <td><input type="text" name="nimi" id="nimi" style="width:400px;" value=""></td> </tr> <tr> <td>Email:</td> <td><input type="text" name="email" id="email" style="width:400px;" value=""></td> </tr> <tr> <td>Otsikko:</td> <td><input type="text" name="otsikko" id="otsikko" style="width:400px;" value=""></td> </tr> <tr> <td>Palaute:</td> <td><textarea name="teksti" id="teksti" style="width:400px;" rows="5" value=""></textarea></td> </tr> <tr> <td style="text-align:center;" colspan="2"><input type="submit" value="Lähetä" /> <input type="reset" value="Tyhjennä" /></td> </tr> </tbody> </table> </form> <?php } ?>
Lisätieto olisi kyllä poikaa, mutta tulostusnappi tulee tässä.
<input type="button" onclick="JavaScript:window.print();" value="tulosta">
paatzo kirjoitti:
Kyseessä on ilmoittautumislomake, jossa on kohdat jotka pitää täyttää ennenkuin pääsee nappia painamaan.
Ja sitten tosiaan sen pitäisi lähettää lomakkeessa olevat tiedot tiettyyn sähköpostiin.
Tulostusnappi ei ole pakollinen, mutta tohon toisen napin tekemiseen olisi kiva saada tarkat ohjeet :)Ja tietysti myös HTML ratkaisu kelpaa jos sellaista löytyy.
w3school on hyvä referenssi html:n ja css:n kirjoittamiseen. Tuossa on html-lomakkeesta: http://www.w3schools.com/html/html_forms.asp Napista voisi sen verran vinkata, että tarvittava html-elementti on input.
Mailia on mahdollista lähettää joko suoraan html-lomakkeesta tai sitten antaa lomakkeen tiedot skriptille, joka lähettää viestin. Skriptin etuna on mahdollisuus tietojen tarkisteluun ja email-osoitteen pysyminen piilossa. Ehdottomasti suositeltavampi tapa siis :-)
Tuosta putkan php-oppaan luvusta voisi olla apua: https://www.ohjelmointiputka.net/oppaat/opas.
Suht karsea tuo ville-v:n käyttämä koodi. PHP:n manuaalista löytyy email-osoitteen oikeellisuuden testaukseen funkkareita, kuin myös Regular Expressions info -sivustolta. Lisäksi tuokin taitaa olla altis mielivaltaisille headereille ellei serverillä ole suhosin-laajennus / mod_security käytössä.
Okei... sain lomakkeen nyt siihen malliin että kaikki muu on kunnossa paitsi yksi asia. Kun nyt painaa ilmoittaudu nappia niin se avaa sähköpostiohjelman ja kopioi tarvittavat kohdat suoraa siihen, mutta se pitäisi saada sillä lailla, että se lähettäisi sen suoraan ilman että lähettäjä joutuu käyttämään sähköpostia. Onko tälläinen mahdollista?
ja siis koodi tässä kohdassa on tällä hetkellä tälläinen:
<form action="MAILTO:sähkö@posti.fi" method="post" enctype="text/plain" name="form" id="form" onsubmit="return tarkistus();" >
Niin ja sitten on vielä sellainen juttu, että en itse pääse serverille käsiksi, eli sen viestin pitäisi mennä suoraan ilman "välikäsiä" perille.
Aihe on jo aika vanha, joten et voi enää vastata siihen.