Tämä on toimiva palautelomake. Toimii PHP5 alustalla.
Omaisuudet:
- Numerospam suojaus, joka arpoo joka kerta numeron.
- Kenttien rajoitukset.
- Ottaa ip:n, hostin, selaimen ja ajan.
- Monipuoliset asetukset
Zip paketissa saa nopeasti:
http://kalahabbo.jouluserver.com/omakala/nerootto@naftis.com/palaute.zip
<?php $no = rand(10, 99); setcookie("number", $no, time() + 60 * 60); // Tallennetaan spam numero evästeihin. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" lang="fi"> <head> <title>Palautelomake</title> </head> <body> <h1>Palautelomake</h1> <form method="post" action="kasittely.php"> <input type="hidden" name="Tyyppi" value="PALAUTE" /> <fieldset><legend>Palautteen tiedot</legend> Nimesi:<br /> <input type="text" name="nimi" size="30" maxlength="50" /></p><br/> Otsikko<br /> <input type="text" name="otsikko" id="otsikko" size="30" maxlength="50" /></p> <p><label accesskey="T" for="teksti">Palaute:</label><br /> <textarea name="teksti" cols="70" rows="9"></textarea><br /> </p> </fieldset> <fieldset><legend>Vastaus</legend> Sähköpostiosoitteesi:<br/> <input type="text" name="email"/></p> </fieldset> <img src="kuva.php?no=<?php echo $no; ?>"><br/> <input type="text" name="spam" size="5" maxlength="2" /> Kirjoita kuvan numerot</p> <p> <input type="submit" value="Lähetä palaute" name="submit" id="submit" /> <input type="reset" value="Tyhjennä kentät" name="reset" id="reset" /> </p> </form> </body> </html>
kasittely.php
<?php /* Palautelomake Tekijä: nerootto Muuttaa voi vapaasti. */ // Määritetään asetukset $emails = "gg@nj.fi"; // Tähän sähköpostisi $onnistui = "Viestin lähetys onnistui."; // Onnistumisen viesti $potsikko = "Palaute"; // Viestin otsikko $virhe = "Jokin kenttä on virheellinen."; // Jos jokin on virheellinen kenttä $spam = "Vastasit väärin spamkysymykseen!"; // Jos späm kysymys meni väärin. /* Aloitetaan käsittely. Ei tarvitse kajota. */ // Tarkastetaan spam if($_POST["spam"] != $_COOKIE["number"]) exit($spam); /* Tuetaan PHP5 muuttamalla kenttiä */ $nimi = $_POST['nimi']; $otsikko = $_POST['otsikko']; $teksti = $_POST['teksti']; $vastaus = $_POST['vastaus']; $email = $_POST['email']; /* Tarkastetaan kentät */ if (strlen($nimi) <2) exit ($virhe); if (strlen($nimi) >50) exit ($virhe); if (strlen($otsikko) <3) exit ($virhe); if (strlen($otsikko) >50) exit ($virhe); if (strlen($teksti) <10) exit ($virhe); if (strlen($teksti) >5100) exit ($virhe); if (strlen($email) >51) exit ($virhe); if (strlen($email) <5) exit ($virhe); $IP = $_SERVER['REMOTE_ADDR']; // Lähettäjän IP $Host = gethostbyaddr($_SERVER['REMOTE_ADDR']); // Palvelin $Selain = $_SERVER['HTTP_USER_AGENT']; // Selain $aika = date('d.m.Y H:i:s'); // Aika /* Aloitetaan sähköpostin lähetys */ @mail("$emails", "$potsikko"," Otsikko: $otsikko Nimi: $nimi Sähköposti: $email Palaute: $teksti IP: $IP Selain: $Selain Host: $Host Aika: $aika ","From: $email\r\n"."Reply-To: $email"); print $onnistui; // printtaa unnistumisen ?>
kuva.php
<?php $no = $_GET['no']; header("Content-type: image/png"); $kuva = imagecreate(100, 25); $tausta = imagecolorallocate($kuva, 255, 255, 255); $musta = imagecolorallocate($kuva, 255, 0, 0); imagestring($kuva, 5, 2, 2, $no, $musta); imagepng($kuva); imagedestroy($kuva); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.