Ensimmäinen koodivinkkini
Kirjoitin tälläisen vieraskirjan, jos vaikka joku aloittelija löytäisi jotain tarpeellista tästä.
Pitäisi olla kaikki suurimmat tietoturvariskit poistettu.
Tätä ei ole hirveästi testailtu, eikä sisällä sivutus toimintoa.
Saa levittää vapaasti!
-squid-(juusofin.@hotmail.com
show.php
<!-- Nämä voi poistaa jos haluaa. Nämä aloittavat HTML sivun --> <html> <head><title>Vieraskirja</title> </head> <body> <?php // Vieraskirja // // Kirjoittanut: -squid- // // /juusofin@hotmail.com// ////////////////////////////////////// $viestit = file("viestit.txt"); //viestit taulukkoon $viestit = array_reverse($viestit); //käännetään viestit toisinpäin, jotta uusin tulee ensiksi $vmaara = count($viestit); //laskee viestit.txt rivit, jolloin tulee viestien määrä echo "<p><b> $vmaara</b> viestiä kirjoitettu.</p>"; echo "<p><a href=\"send.php\">Lähetä viesti</a></p><hr>"; for ($i = 0; $i < $vmaara; i++) { $info = explode("|", $viestit[i], 4); //jaetaan viestit.txt:in tiedot, | erotettuna, $info taulukkoon /tiedot omiin kolosiin $nimi = $info[0]; $email = $info[1]; $aika = $info[2]; $viesti = $info[3]; //viesti echo "<p><b>Kirjoittaja</b>: <a href=\"mailto:$email\">$nimi</a><br>"; //kirjoittajan nimi, sekä email osoite echo "<b>Kirjoitus aika</b>: " . date("d.m.Y H:i", $aika) . "<br>"; //viestin aika echo "<br>$viesti<hr>"; //itse viesti } ?> <!-- Nämä voi poistaa jos ei tarvi, nämä päättävät HTML sivun --> </body> </html>
send.php
<?php if (!isset($_POST['nimi'])) { //Ei saa poistaa ?> <html> <head> <title>Vieraskirja :: Kirjoita uusi viesti</title> </head> <body> <h1>Kirjoita uusi viesti</h1> <!-- Tämä pitää olla sivulla, jotta on mistä lähettää --> <form action="send.php" method="post"> Nimi: <br> <input type="text" name="nimi"> <br> Sähköposti: <br> <input type="text" name="email"> <br> Viesti: <br> <textarea name="viesti" col="15" row="15"></textarea> <br> <br> <input type="submit" value="Lähetä"> </form> </body> </html> <?php } else { $filu = fopen("viestit.txt" , "a"); //avataan tiedosto append(a) tilassa, jottei vanhat tiedot häviä uusia kirjoittaessa $nimi = $_POST['nimi']; $email = $_POST['email']; $viesti = $_POST['viesti']; //poistetaan kaikki EI sallittu viestistä, nimestä ja emailista $viesti = nl2br($viesti): $viesti = str_replace("|", " ", $viesti); $viesti = stripslashes($viesti); $viesti = htmlspecialchars($viesti); $nimi = str_replace("|", " ", $nimi); $email = str_replace("|", " ", $email); //otetaan talteen aika, jolloin viesti lähetettiin $aika = time(); //luodaan rivi viestit.txt tiedostoon $rivi = "$nimi|$email|$aika|$viesti\n"; fwrite($filu, $rivi); //rivi täytyy myös lisätä viestit.txt tiedostoon fclose($filu); //suljetaan tiedosto //ohjataan takaisin viestien näyttösivulle header("Location: show.php"); } ?>
Jotkut aloittelijat tällä jotain voikin tehdä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.