Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP SleeperChat v0.1

Cooper [12.10.2004 19:20:01]

#

Tässä erittäin alkeellinen chattijuttu. Tietysti tässä on virheitä, mutta tämä on vasta ensimmäinen "kunnon" skriptini. Palaute olisi erittäin kohdallaan.

#Skripti toiminnassa: http://co0per.freelinuxhost.com/chattisivu.php #

//joo oli tullut pari erehdystä. (koodin olin laittanut kahdesti).

Niin, ja toivottavasti joku osaisi neuvoa, miten saa nuo nickit tuonne.

<?php
/*******************************/
/***  PHP SpiritSleeperChat  ***/
/***         v 0.13b         ***/
/***   www.valokaapeli.com   ***/
/*******************************/

# Tässä chatissa ei voi käyttää (vielä) omia nickejä, mutta kyllä IP:t hoitavat saman homman, ainakin melkein.

# Konfiguraatio : [Voit vapaasti muuttaa näitä asetuksia]

$refresh = 6 ; # Sivun päivitysnopeus sekunteina

$max = 20 ; # Max. tallennetut viestit

$remain = 400 ; # Kuinka kauan viestit pysyvät näytöllä. Sekunteina.

$file = "msg.txt" ; # Filu, johon viestit tallennetaan
/*
Tee tyhjä filu "msg.txt"
($file), ja pistä palvelimelle. Sitten CHMOD:aa tämä filu 777
*/

// Konfiguraation loppu //


$user = $HTTP_SERVER_VARS['REMOTE_ADDR'] ;
$f = file($file) ;
$users = array($user) ;
header ("Content-Type: text/html; charset=utf-8") ;
$fp = fopen($file, "w") ;
if (!$fp) { die ('Jotain m&auml;tt&auml;&auml; ja pahasti. Syyt&auml; tekij&auml;&auml;.') ; }

for ($i=0; isset($f[$i])||$i==0; $i++)

{

$e=explode('||', $f[$i]) ;
if ($e[2]=="\r\n" && !in_array($e[0], $users) && ( time() - $e[1] < $refresh*2 ) ) $users[]=$e[0] ;
if ($i==0) { fputs($fp, $user."||".time()."||\r\n") ;
if ( isset($HTTP_POST_VARS['msg']) ) fputs ($fp, $user."||".time()."||".str_replace("||", "", str_replace("\n", "", htmlspecialchars(stripslashes($HTTP_POST_VARS['msg']))))."\r\n") ;}

if ( ($e[0]!=$user && $e[2]=="\r\n") || ( $i<$max && ($e[1]+$remain)>time() && $e[2]!="\r\n") ) fputs($fp, $f[$i]) ;

}

fclose($fp) ;

if (isset($HTTP_GET_VARS['f1']))

{

$f2 = file($file) ;
echo("<html><head><title>SpiritSleeperChat_v_0.12</title><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>") ;


echo("<body bgcolor='#E6EDE8' text=#0000cc><meta http-equiv='refresh' content='{$refresh}; url={$HTTP_SERVER_VARS['REQUEST_URI']}'>") ;


echo("<font color=#e22200>K&auml;ytt&auml;j&auml;t sis&auml;ll&auml;: ") ;


foreach($users as $u) echo "<font color=#ee0099>".$u."</font> - " ;


echo "</font><hr>" ;


for($i=0; isset($f2[$i]) && $i<$max; $i++) {
$e=explode("||", $f2[$i]) ;


if ($e[2]!="\r\n") echo "<font color=green>{$e[0]}</font> <font color=red>:</font> {$e[2]}<br>\r\n" ;

}

die("</body></html>") ;

}

else

{

die("
<html><head><title>SpiritSleeperChat_v_0.12</title><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>

<script><!--
function msg(){ document.m.msg.focus(); } // --></script>
</head>
<body bgcolor='#658E6E' align='center' onLoad='msg()'> <center>
<iframe src='?f1=1' width='95%' height='85%'></iframe><br>
<table width='95%' bgcolor='#E6EDE8'><tr><td align='center' width='100%'>
<form action='' method='post' name='m'>
Viestisi : <input name='msg' size=60> <input type='submit' name='l&auml;het&auml;' value='l&auml;het&auml;'>
<br />
</form>
</td></tr></table>
</body></html>
") ;
}
?>

Tumpi [14.10.2004 00:16:37]

#

Tuosta saa Erkkikään selvää..

Juice [14.10.2004 19:44:03]

#

Sisennykset, sisennykset...

Ja katso: näppäimistön alalaidassa on sellainen pitkulainen nappula nimeltään 'välilyönti'. Sitä painamalla ruudulle saa ilmaa xD

Blaze [14.10.2004 21:20:14]

#

Joo, ja sitten tuossa on tommonen iso nappi ku "enter", siitä saa toisessa suunnassa tyhjää tilaa! :P

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta