<html>
<style>
A {color:blue}
A:hover {color:red}
TD#ad A {text-decoration:none}
TD#text B#v1 {color: #3300FF; font-weight:normal} /*värit jokatoiselle kommentille*/
TD#text B#v2 {color: #FF0000; font-weight:normal} /*sama juttu..*/
TD#text B#a {color:black}
</style>
<?php
$salasana = "sala";
//laitetaan viestin tai adminin salasanan kirjotuskohta valmiiksi keskitetyksi
print"<body";
if($act != "admin"){
print" onload=\"document.formi.viesti.focus();\"";
}else{
//jos ollaan kirjauduttu sisään, jolloin salasanakenttää ei näy
if($_COOKIE[kom_admin] != $salasana){
print" onload=\"document.formi.pass.focus();\"";
}
}
print">";
//ip-osoitteen hakeminen, (bannaukseen tai muuhun sellaiseen)
$ip = $_SERVER["REMOTE_ADDR"];
//aika (kommenttien ajan tarkasteluun :) puretaan esim: $aika = date("j.n.Y - H:i:s", $osa[2]);
$aika = mktime();
$filu = file("kom.txt");
$max = count($filu)-1;
//tulostetaan kommentit jos ei olla admin osassa
if($act != "admin"){
print"<TABLE border='0' cellspacing='0' cellpadding='0' style='font:10px verdana; color:black; border:1px solid black; padding-right:10px' width='220'>";
print"<TR>";
print" <TD style='font:bold 14px/22px verdana; text-align:center; border-bottom:1px solid black'>:: Kommenttilista</TD>";
print"</TR>";
print"<TR>";
print" <TD style='padding-left:10px' id='text'><BR>";
if($max > -1){
for($u = $max; $u >= $max - 10; $u--){
$osa = explode("|", $filu[$u]);
if($osa[0] != ""){
$s++;
//asetetaan värit jokatoiselle kommentille :)
if($s % 2 == 0){$v = "v1";}else{$v = "v2";}
print"<b id='$v'><B id='a'>|$osa[0]|</B> $osa[1]</b><BR>";
}
}
}else{
print"- - Ei kommentteja! - -";
}
print"<FORM METHOD='POST' ACTION='$PHP_SELF?act=add' name='formi'>";
print"<TABLE border='0' cellspacing='0' cellpadding='0' style='font:11px verdana; color:black'>";
print"<TR>";
print" <TD>Nimi: </TD>";
print" <TD><INPUT TYPE='text' NAME='nimi' value='$_COOKIE[kom_nimi]' maxlength='10'></TD>";
print"</TR>";
print"<TR>";
print" <TD>Viesti: </TD>";
print" <TD><INPUT TYPE='text' NAME='viesti' value='$viesti' maxlength='200'></TD>";
print"</TR>";
print"<TR>";
print" <TD></TD>";
print" <TD><INPUT TYPE='submit' value='Lähetä'></TD>";
print"</TR>";
print"</TABLE>";
print"</FORM>";
if($act == "add"){
//trimmataan kentät jottei voisi lähettää tyhjiä kommentteja
$viesti = trim($viesti);
$nimi = trim($nimi);
//suojataan ettei peelot yllätä, ja kirjottele toisten nimillä heti perään...
for($u = $max; $u >= $max - 10; $u--){
$osa = explode("|", $filu[$u]);
if($ip != $osa[3] && !strcasecmp($nimi, $osa[0])){$error = "Nimi on jo käytössä";}
}
//suojataan tyhjiltä viesteiltä
if($viesti == ""){$error = "Kirjoita viestisi!";}
if($nimi == ""){$error = "Kirjoita nimesi!";}
if(!$error){
//asetetaan keksi nimelle jota käytettiin kommentissa, (ei tarvitse aina kirjottaa nimeä uudelleen ;)
setcookie("kom_nimi", $nimi, time()+600000, "/");
$filu = fopen("kom.txt", "a");
$rivi = "$nimi|$viesti|$aika|$ip|\n";
//html:t pois...
$rivi = htmlspecialchars($rivi);
// " merkkien trimmaus jottei niistä tule \" merkkejä :)
$rivi = stripslashes($rivi);
fwrite($filu, $rivi);
fclose($filu);
header("location: kom-vw.php");
}else{
//tulostetaan errori jos errori on asetettu
print"<CENTER>$error</CENTER><BR><BR>";
}
}
print" </TD>";
print"</TR>";
print"<TR>";
print" <TD align='right'>[ <A HREF='$PHP_SELF?act=admin'>Admin</A> ]<BR><BR></TD>";
print"</TR>";
print"</TABLE>";
}
//ollaan adminissa...
if($act == "admin"){
//jos ollaan menty adminiin mutta salasana ei vastaa keksissä olevaa, tulostetaan kenttä jotta voidaan kirjautua sisään
if($_COOKIE[kom_admin] != $salasana){
print"<TABLE border='0' cellspacing='0' cellpadding='0' style='font:10px verdana; color:black; border:1px solid black; padding-right:10px' width='220'>";
print"<TR>";
print" <TD style='font:bold 14px/22px verdana; text-align:center; border-bottom:1px solid black'>:: Admin</TD>";
print"</TR>";
print"<TR>";
print" <TD style='padding-left:10px'><BR>";
print"<FORM METHOD='POST' ACTION='$PHP_SELF?act=admin' name='formi'>";
print"<TABLE border='0' cellspacing='0' cellpadding='0' style='font:11px verdana; color:black'>";
print"<TR>";
print" <TD>Pass: </TD>";
print" <TD><INPUT TYPE='password' NAME='pass' maxlength='18'></TD>";
print"</TR>";
print"<TR>";
print" <TD></TD>";
print" <TD><INPUT TYPE='submit' value='Sisään'></TD>";
print"</TR>";
print"</TABLE>";
print"</FORM>";
print"</TD>";
print"</TR>";
print"<TR>";
print" <TD align='right'>[ <A HREF='$PHP_SELF'>Takaisin</A> ]<BR><BR></TD>";
print"</TR>";
print"</TABLE>";
/*
jos salasana on oikea, asetetaan keksi, ja mennään uudelleen adminiin,
jonka jälkeen tämä lauseke ei ole enää tosi, jolloin päästään adminiin
*/
if($pass == $salasana){
setcookie("kom_admin", $salasana, time()+600000, "/");
header("location: $PHP_SELF?act=admin");
}
}else{
//tulostetaan adminiin kommentit
print"<TABLE border='0' cellspacing='0' cellpadding='0' style='font:10px verdana; color:black; border:1px solid black; padding-right:10px' width='220'>";
print"<TR>";
print" <TD style='font:bold 14px/22px verdana; text-align:center; border-bottom:1px solid black'>:: Admin</TD>";
print"</TR>";
print"<TR>";
print" <TD style='padding-left:10px' id='ad'><BR>";
if($max > -1){
for($u = $max; $u >= $max - 30; $u--){
$osa = explode("|", $filu[$u]);
if($osa[0] != ""){
print"<A HREF='$PHP_SELF?act=del&id=$u' title='poista'><B>|$osa[0]|</B></A> $osa[1]<BR>";
}
}
}else{
print"- - Ei kommentteja! - -";
}
print"</TD>";
print"</TR>";
print"<TR>";
print" <TD align='right'><BR><BR>[ <A HREF='$PHP_SELF'>Listalle</A> | <A HREF='$PHP_SELF?act=ulos'>Kirjaudu ulos</A> ]<BR><BR></TD>";
print"</TR>";
print"</TABLE>";
}
}
//jos painetaan poistolinkkiä...
if($act == "del" && $id != ""){
$filu[$id] = "";
$rivi = implode("", $filu);
$filu = fopen("kom.txt", "w");
flock($filu, 2);
fwrite($filu, $rivi);
flock($filu, 3);
fclose($filu);
header("location: $PHP_SELF?act=admin");
}
//jos kirjaudutaan ulos...
if($act == "ulos"){
//poistetaan keksit, jolloin salasana ei vastaa enää oikeata
setcookie("kom_admin", $salasana, time()-600000, "/");
header("location: $PHP_SELF");
}
print"<A HREF='http://mbnet.fi/winuus' style='font:10px verdana'>Script by T.M.</A>";
?>Miks tuolla on tommosia isojakin välejä tuolla koodissa?
selkeyden takia! ;)
niin, t.m on tehny hyvin kaikkien varalta! ;D
O.o, ei toim ?
Aihe on jo aika vanha, joten et voi enää vastata siihen.