Lataa tästä ja vaihda tiedostopääte .txt
esimerkiksi muotoon .php
. Lomakkeessa on kolme asetusta, jotka pitää vaihtaa: 1) sähköpostin vastaanottajan osoite, 2) se osoite, jossa tuo palautelomake sijaitsee, ja 3) viestin otsikko. Tällä lomakkeella kävijä voi lähettää haluttuun sähköpostiosoitteeseen haluamansa viestin ja nimensä tai nimimerkkinsä. Lomakkeessa on muutamia spämmisuojauksia, joiden pitäisi hillitä roskapostin määrää. Alapuolella on lomakkeen lähdekoodi ilman sisennyksiä ym. hienosteluja.
<?php
# PALAUTELOMAKE PHP-TUELLA VARUSTETTUA SIVUSTOA VARTEN.
# MAHDOLLISTAA SAHKOPOSTIN LAHETTAMISEN ENNALTA ILMOITETTUUN MAILIOSOITTEESEEN
# LISATIEDOT: http://kuopassa.net/
# TAI: petri.ikonen@kuopassa.com
error_reporting(0);
$lahetettiin = FALSE;
if (defined('LOMAKKEEN_OSOITE')) {
die;
}
else {
define('LOMAKKEEN_OSOITE','http://localhost/palautelomake/palautelomake.php');
}
if (defined('VASTAANOTTAJA')) {
die;
}
else {
define('VASTAANOTTAJA','oma.sahkopostiosoite@kuopassa.com');
}
if (defined('OTSIKKO')) {
die;
}
else {
define('OTSIKKO','Viesti palautelomakkeesta | Kuopassa.com');
}
if ((isset($_POST['laheta'])) && (isset($_POST['email'])) && (empty($_POST['email']))) {
if (empty($_POST['laheta'])) {
unset($_POST['laheta']);
$ilmoitukset = array();
if ((isset($_POST['viesti'])) && (!empty($_POST['viesti'])) && (strlen($_POST['viesti']) >= '5') && (strlen($_POST['viesti']) <= '10000')) {
$viesti = filter_var($_POST['viesti'],FILTER_SANITIZE_STRING);
}
else {
$viesti = NULL;
array_push($ilmoitukset,'Muista kirjoittaa viesti. Sen on oltava vähintään viisi (5) ja enintään 10 000 merkkiä pitkä.');
sleep(1);
}
if ((isset($_POST['lahettaja'])) && (!empty($_POST['lahettaja'])) && (strlen($_POST['lahettaja']) >= '2') && (strlen($_POST['lahettaja']) <= '50') && (!is_numeric($_POST['lahettaja']))) {
$lahettaja = filter_var($_POST['lahettaja'],FILTER_SANITIZE_STRING);
}
else {
$lahettaja = NULL;
array_push($ilmoitukset,'Muista kirjoittaa nimesi tai nimimerkkisi. Sen on oltava vähintään kaksi (2) ja enintään 50 merkkiä pitkä.');
sleep(1);
}
if (empty($ilmoitukset)) {
$lahetettava = 'Palautetta: '.$viesti.'. ('.$lahettaja.')';
if (mail(VASTAANOTTAJA,OTSIKKO,$lahetettava,'From:'.$lahettaja)) {
array_push($ilmoitukset,'Kiitos! Viestisi lähetettiin.');
$lahetettiin = TRUE;
unset($viesti);
unset($lahetettava);
unset($lahettaja);
}
else {
array_push($ilmoitukset,'Oho! Onpa epätavallista, sillä viestiäsi ei kyetty lähettämään. Jos viitsit, voit lähettää viestisi suoraan sähköpostiosoitteeseen <strong>'.VASTAANOTTAJA.'</strong>. Viestisi kuuluu:<br /><em>"'.$viesti.'</em>"');
sleep(1);
}
}
}
else {
die;
}
}
else {
$viesti = NULL;
$lahettaja = NULL;
$ilmoitukset = NULL;
# HUNAJAPURKKI ROSKAPOSTITTAJILLE
if (!empty($_POST['email'])) {
die;
}
}
if ($ilmoitukset != NULL) {
echo '<ul id="ilmoitukset">';
foreach($ilmoitukset as $ilmoitus) {
echo '<li>'.$ilmoitus.'</li>';
}
echo '</ul>';
}
if ($lahetettiin != TRUE) {
?>
<form action="<?php echo LOMAKKEEN_OSOITE; ?>" method="post">
<input type="hidden" name="email" value="" />
<fieldset>
<legend>Ota yhteyttä</legend>
<ul>
<li><label for="viesti">Viesti:</label><textarea id="viesti" name="viesti" cols="30" rows="10"><?php echo $viesti; ?></textarea></li>
<li><label for="lahettaja">Nimi tai nimimerkki:</label><input id="lahettaja" name="lahettaja" size="20" maxlength="50" value="<?php echo $lahettaja; ?>" /></li>
<li><button type="submit" name="laheta">Lähetä viesti</button></li>
</ul>
</fielset>
</form>
<?php } ?>