Pulinaboxi, eli tollane mini kommentointi, jossa uusin viesti tulee ylimmäksi. Helpohkosti muokattavissa oleva, joten kokoa ja tekstinpituukisa voi rajoittaa oman maun mukaan.
Mun eka tänne lisäämä, voi olla hieman buginen ynm, mutta toivonkin, että valitatte jokaisesta jutusta, niin saadan hienoon kuntoon.
Itsellä on tuossa vielä pieni admin osio, siellä voidaan poistaa rivejä (eli viestejä), mutta ei riittänyt minulle 4 listausta siihen. Jokainen varmaan osannee sen kyllä tehdä itsekin, varsinkin kun koodivinkeissä on se aivan loistava tekstitiedostojen käsittely pätkä.
Ja muista luoda tiedosto boxi.txt, ja antaa kirjoitusoikeudet !
Demo:
http://koti.mbnet.fi/ztomiz/boxi.php
MUOKKAUSTA:
Lisäänpä tähän tuon kellonajan joka jäi tästä versiosta puuttumaan. (löytyy demosta)
boxi.php
<html> <head><LINK HREF="style.css" TYPE="text/css" REL="stylesheet"></head> <body> <div class="box"> <b>Otsikkosi .. </b> <hr size="1" width="95%"> <font size="1" face="verdana"> <form method="post" action="boxi2.php"> <input type="text" name="nimi" value="Nimimerkki" maxlength="12" size="12" style="font-size:8pt"> <input type="text" name="viesti" value="Viesti" maxlength="35" size="35" style="font-size:8pt"> <input type="submit" name="Lähetä" value="lähetä"> <font color="#09152F"> <?php // Tästä alkaa PHP, eli itse koodi. Sisennykset ei ole mun erikoisalaa, mutta // jos jollain on ideoita sisennyksen harjoittelemiseen opetukseen, sanokaa ihmeessä ;P // Copyrights: Suhkruvaba / chiqu (sama mies) echo '<br><br><hr size="1" width="95%">'; // Otsikon jälkeen vähän väliä // Tulostetaan infoa $t_filu = file("boxi.txt"); $viestien_maara = count($t_filu); echo "Yhteensä viestejä $viestien_maara || Uusin viesti ylimpänä || Näytetään 10 uusinta<br><br>"; $virhe = $_COOKIE["virhe"]; echo '<font color="#780011"><b>'; echo "$virhe </b>"; if ($virhe != ""){ // Jos virhe ei ole tyhjä, parannetaan rivitys echo "<br><br>"; } // Poistetaan se virhe cookie, ettei se jää kummittelemaan setcookie("virhe", ""); // Luetaan viestit, uusin ylimmäks.. foreach (array_slice(array_reverse(file('boxi.txt')), 0, 10) as $a) { // Otetaan mukaan tiedoston lopusta 10 vikaa $jaettu = explode("|", $a); echo "<center>"; // Pieniä tyylijuttuja echo '<div class="keskustelu">'; echo '<font color="#102432">'; // Kellolle fontin väri echo "$jaettu[0] "; // Luetaan kello ja jätetään välilyönti echo '<font color="#102452">'; // Nimimerkille fontin väri echo "$jaettu[1] "; // Luetaan nimimerkki echo '<font color="#102482">'; // Viestille fontin väri echo "$jaettu[2]"; // Luetaan viesti echo "</div>"; // Lopetetaan Divi } ?> </form> </div> </body> </html>
boxi2.php
<html><head><LINK HREF="style.css" TYPE="text/css" REL="stylesheet"></head><body> <?php // Katotaan et kaikki on kunnossa // Eli tyhjät pois jne // Tätä kannattaa muokata, jos ei halua jotain kirosanoja tai vastaavaa // Mm.. kirosanafiltteri, njäh ei oo itellä tarvetta kyl if ($nimi == " ") { // Jos Nimimerkki boxi on jätetty tyhjäksi header("Location: boxi.php"); // Ohjataan takaisin.. setcookie("virhe", "Tyhjiä nimimerkkejä ei tueta."); // Ja luodaan cookie, virheen tunnistamiseksi } elseif ($viesti == " ") { // Jos Viesti boxi on jätetty tyhjäksi header("Location: boxi.php"); // Ohjataan takaisin.. setcookie("virhe", "Tyhjiä viestejä ei tueta."); // Ja luodaan cookie, virheen tunnistamiseksi } // Tätä ei ole pakko käyttää, ota pois jos ei kiinnosta, mutta minulle anakin luo mielenrauhaa // Eli, koska siinä on vakiona se "Nimimerkki", selaiselta nickiltä, tulee todennäköisesti // vain spammia, jota me emme halua. Ja sama homma Viestin kanssa.. elseif ($nimi == "Nimimerkki") { // JOS Nimimerkki = "Nimimerkki" header("Location: boxi.php"); // Ohjataan takaisin.. setcookie("virhe", "Unohditko täyttää jommankumman kentän ?"); // Ja luodaan taas se cookie.. } elseif ($viesti == "Viesti") { // JOS Viesti = "Viesti" header("Location: boxi.php"); // Ohjataan takaisin setcookie("virhe", "Unohditko täyttää jommankumman kentän ?"); // Ja luodaan cookie.. } else { // Jos siis emme löytäneet seuraavia virheitä, jatkamme.. // Tässä vaiheessa otetaan kellonaika ylös $aika = date("H:i:s"); // Kirjoitetaan viesti $tt = fopen("boxi.txt", "a"); // Avataan boxi.txt kirjoitustilassa "a" $nimi = htmlspecialchars($nimi); // HTML-tagit kieltoon, varmuudeksi $viesti = htmlspecialchars($viesti); // HTML-tagit kieltoon, varmuudeksi fwrite($tt, "::$aika:: [$nimi]:|$viesti\n"); // Kirjoitetaan muodossa "::Aika:: [Nimimerkki]:| Viesti" // Saa muuttaa, mutta kannattaa muistaa, että boxi.php:ssä // explodetaan nimimerkki ja viesti erilleen "|" merkin avulla fclose($tt); // Suljetaan tiedosto header("Location: boxi.php"); // Ja lähdetään kotiinpäin.. } ?> </body> </html>
style.css
// Helppo muokata mieleisekseen.. // Koko boxi .box { border: solid 1px #1A2D01; padding: 5px; width: 50%; text-align: center; } // Jokaisen viestin määrittely .keskustelu { border-left: 1px solid; border-right: 1px solid; border-top: 1px solid; border-bottom: 1px solid; border-color: #1A2D01; text-align: left; padding: 3px; width: 302px; margin: 1px 1px 1px 1px; }
Joo-o, koodia vois VÄHÄN siistiä.
Liikaa kommentteja :O ?
Koodia ainakin sen verran niukasti, että ei siinä nyt hirveästi ole muokkaamista.
Aihe on jo aika vanha, joten et voi enää vastata siihen.