Tarkoituksena olisi ottaa tämä php "shoutboxi" käyttöön...
Ainoa huonopuoli on vain se, että tuo ei lisää minkäänlaista aikaa / päivämäärää milloin viesti on boxiin lähetetty...
joten voisiko joku iskeä mahdollisesti tähän koodiin jonkun koodinpätkän että saisin ajan ja päivämäärän viestin yhteyteen...
koodi löytyy täältä:
http://ts-sivut.com/tagger.txt
KIITOS! :)
Mod. edit: siirretty oikealle alueelle
Tossa tallennettaessa viestiä ja muita tietoja tiedostoon, tallenna mukaan myös timestamppi, jonka saa time():lla. Lukuvaiheessa sitä voi sitten muotoilla date():n kanssa.
...
Sori mutta et viitsisi vielä pistää vähän neuvoa (ehkä valmiin koodin), että mihin kohtaan pitää mitäkin laittaa...
Halusin sen saada jotenkin näyttämään:
Nimi 16.7. 13:30:
Viesti tähän alapuolelle.
- En tosiaankaan osaa PHP:tä...
Koitappa tätä koodia:
<?php function getip(){ if($_SERVER){ if($_SERVER["HTTP_X_FORWARDED_FOR"]){ $rip = $_SERVER["HTTP_X_FORWARDED_FOR"]; }elseif($_SERVER["HTTP_CLIENT_IP"]){ $rip = $_SERVER["HTTP_CLIENT_IP"]; }else{ $rip = $_SERVER["REMOTE_ADDR"]; } }else{ if(getenv("HTTP_X_FORWARDED_FOR")){ $rip = getenv("HTTP_X_FORWARDED_FOR"); }elseif (getenv("HTTP_CLIENT_IP")){ $rip = getenv("HTTP_CLIENT_IP"); }else { $rip = getenv("REMOTE_ADDR"); } } return $rip; } $save = $_GET["save"]; if ($save) { $nimi = stripslashes(htmlspecialchars($_POST["nimi"], ENT_QUOTES)); $viesti = stripslashes(htmlspecialchars($_POST["viesti"], ENT_QUOTES)); $nimi = str_replace("|", "l", $nimi); $viesti = str_replace("|", "l", $viesti); $ip = getip(); if ($nimi && $viesti) { $file = fopen ("tagger.dat", "aw"); flock ($file,2); $time = time(); fwrite ($file, "$ip|$nimi|$viesti|$time\n"); flock ($file,3); fclose($file); } header("Location: tagger.php"); } ?> <html> <head> <title>Coffeehouse</title> <style type="text/css"> body { margin: 2px; scrollbar-face-color: #E6E6DF; scrollbar-shadow-color: #C2BBBF; scrollbar-highlight-color: #F9F9F3; scrollbar-3dlight-color: #FFFFFF; scrollbar-darkshadow-color: #747477; scrollbar-track-color: #F0F0F0; scrollbar-arrow-color: #000000; } a { color: #0000FF; text-decoration: none; font-family: verdana; font-size: 10px; font-weight: bold; } a:visited { color: #0000FF; text-decoration: none; font-family: verdana; font-size: 10px; font-weight: bold; } a:hover { text-decoration: underline; } input,textarea { font-family: verdana; font-size: 11px; color: #000000; background: #F0F0F0; } .text { font-family: verdana; font-size: 10px; color: #000000; } </style> </head> <body bgcolor="#4E2714"> <form action="tagger.php?save=ok" method="post"> <font class="text"> <b>SHOUTBOX:</b><br> <textarea cols="23" rows="10"><?php $viestit = file("tagger.dat"); $maara = count($viestit)-1; for ($i = $maara; $i >= 0; $i--) {fwrite ($file, "$ip|$nimi|$viesti|$time\n"); $aika = date("d.m. H:n", $osa[3]); $osa = explode("|", $viestit[$i]); echo "<b>{$osa[1]}</b> $aika<br/>:"; echo $osa[2]; } ?></textarea><br><br> Name:<br><input type="text" maxlength="7" name="nimi" size="20"><br><br> Message:<br><input type="text" maxlength="100" name="viesti" size="20"><br><br> <input type="submit" value="Shout!"><br><br> </font> </form> </body> </html>
En jaksanut testata, toivottavasti toimii.
Tuli tälläinen ilmoitus shoutboxiin kun pistin viestin sinne:
<br />
<b>Warning</b>: fwrite(): supplied argument is not a valid stream resource in <b>/home/coffeeho/public_html/tagger.php</b> on line <b>100</b><br />
<b>nimi</b> 01.01. 02:1<br/>:Hmm... Better now?
$file on suljettu (fclose) jo tuolla ylempänä. Sulkemisen jälkeen siihen ei voi enää kirjottaa.
Voiko asian jotenkin helposti korjata?
Kuten jo sanoin, en todellakaan osaa php:tä...
pitääkö fclose siirtää johonkin toiseen paikkaan vai?
Jooh, pane se sinne loppuun.
<br />
<b>Warning</b>: fwrite(): supplied argument is not a valid stream resource in <b>/home/coffeeho/public_html/tagger.php</b> on line <b>100</b><br />
<b>dude</b> 01.01. 02:1<br/>:testing<br />
<b>Warning</b>: fclose(): supplied argument is not a valid stream resource in <b>/home/coffeeho/public_html/tagger.php</b> on line <b>105</b><br />
ehh... hienoa! :D
vähän ny epäilyttää koko homma.. pistin siis vain tuon fclose jutun tuon echo $osa[2]; alapuolelle...
muutenkin vähän epäilyttää tämä, koska eikös tuon pitäisi tulostaa jotakin Warning eikä <b>warning</b>...?
haluaako joku yrittää vielä selvittää tätä, tai kertoa jonkun toisen shoutboxin (vaikka mysqlikin käy - jos sellaisia on olemassa)...
englannin kielisille sivuille menee, että olisi hyvä jos olisi valmiiksi english.
TeroSte kirjoitti:
pistin siis vain tuon fclose jutun tuon echo $osa[2]; alapuolelle...
Ota se toki sieltä ylhäältä pois myös.
Blaze kirjoitti:
Ota se toki sieltä ylhäältä pois myös.
jepjep, otin sen pois, mutta antaa silti tollasta...
Kiitokset kaikille avusta,
mutta päätin ottaa toisen huutoboksin käyttöön kun ei tämä oikein toiminut haluamallani tavalla.
Kiitos kuitenkin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.