Kun koodi on tälläinen:
<?php /* * Guestbook is coded by Joni Järvinen a.k.a Jope <jope@psykoosi.org> * More scripts can be found at http://jope.psykoosi.org/ (Finnish site) * * This is a simple guestbook built on flatfile system so there is no * need for SQL database. * * Guestbook is very easy to use; just include this page into some of * your pages and it will automatically work. * * This guestbook could be optimized a little. For example when I * read data into array from datafile: * $data = Unserialize(Implode("", File($datafile))); -> * $data = Unserialize(File_Get_Contents($datafile)); * * This is because file_get_contents() is pretty new function and * everyone doesn't have it so you can edit the script by yourself. * * Usage (Right way to use this guestbook): * * <?php * Ob_Start(); * ?> * <html> * <head><title>My guestbook</title></head> * <body> * <?php include ("gusetbook.php"); ?> * </body> * </html> * <?php * $data = Ob_Get_Contents(); * Ob_End_Clean(); * echo $data; * ?> * */ // File where guestbooks data is saved. (no need to change this) $datafile = "guestbook.dat"; // Do NOT edit unless you know what you're doing! $Qstring = preg_replace("/&?act=(write|save|read)/i", "", $_SERVER["QUERY_STRING"]); $address = ($Qstring == "") ? "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"] : "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"] . "?" . $Qstring; if ($_GET["act"] == "write") { echo "<h2>Kirjoita vieraskirjaan!</h2>"; if ($_GET["error"] == 1) { echo "<font color=\"#FF0000\">Täytä vähintään nimi ja viesti!</font>\n"; } if ($Qstring == "") { echo "<form action=\"$address?act=save\" method=\"POST\">"; } else { echo "<form action=\"$address&act=save\" method=\"POST\">"; } echo "<small><b>Nimi:</b></small><br> <input type=\"text\" size=\"25\" maxlength=\"50\" name=\"nimi\"><br> <br> <small><b>Kotisivut:</b></small><br> <input type=\"text\" size=\"25\" maxlength=\"50\" name=\"kotisivut\" value=\"http://\"><br> <br> <small><b>Sähköposti:</b></small><br> <input type=\"text\" size=\"25\" maxlength=\"50\" name=\"email\"><br> <br> <small><b>Viestisi:</b></small><br> <textarea rows=\"6\" cols=\"36\" name=\"viesti\"></textarea><br> <br> <input type=\"submit\" value=\" Tallenna \"> <input type=\"checkbox\" name=\"bbcode\" value=\"disabled\"> Poista BBcode käytöstä tässä viestissä </form>"; } else if ($_GET["act"] == "save") { if (!file_exists($datafile)) { if (!@touch($datafile)) { die ("Couldn't create datafile!"); } if (!@chmod($datafile, 0777)) { die ("Couldn't chmod datafile!"); } } if ($_POST["nimi"] != "" AND $_POST["viesti"] != "") { $data = Unserialize(Implode("", File($datafile))); $bbcode = ($_POST["bbcode"] == "disabled") ? "disabled" : "enabled"; $data[] = Array( "nimi" => $_POST["nimi"], "kotisivut" => $_POST["kotisivut"], "email" => $_POST["email"], "viesti" => $_POST["viesti"], "aika" => time(), "bbcode" => $bbcode ); $fp = @fopen($datafile, "w"); if ($fp) { fwrite ($fp, Serialize($data)); fclose ($fp); if ($Qstring == "") { } else { } } else { die ("Couldn't open datafile!"); } } else { if ($Qstring == "") { } else { } } } else if ($_GET["act"] == "read") { if (file_exists($datafile)) { $data = Unserialize(Implode("", File($datafile))); if (sizeof($data) > 0 AND Is_Array($data)) { echo "<h2>Lue vieraskirjaa</h2>"; $data = Array_reverse($data); for ($i = 0; $i < sizeof($data); $i++) { $nimi = StripSlashes(HtmlEntities($data[$i]["nimi"])); $kotisivut = StripSlashes(HtmlEntities($data[$i]["kotisivut"])); $email = StripSlashes(HtmlEntities($data[$i]["email"])); $viesti = ($data[$i]["bbcode"] == "disabled") ? StripSlashes(HtmlEntities($data[$i]["viesti"])) : StripSlashes(BBcode(HtmlEntities($data[$i]["viesti"]))); $aika = Date("d.m.Y / H:i:s", $data[$i]["aika"]); echo "<b>$nimi @ $aika (<a href=\"$kotisivut\">WWW</a> | <a href=\"mailto:$email\">E-mail</a>)</b> <hr>". nl2br($viesti)." <br> <br> <br>"; } } else { echo "Ei viestejä"; } } else { echo "Ei viestejä"; } } else { echo "<h2>Vieraskirja</h2>"; if ($Qstring == "") { echo "<center><br><br><br><br><a href=\"$address?act=write\">Kirjoita vieraskirjaan</a> | <a href=\"$address?act=read\">Lue vieraskirjaa</a></center>"; } else { echo "<center><br><br><br><br><a href=\"$address&act=write\">Kirjoita vieraskirjaan</a> | <a href=\"$address&act=read\">Lue vieraskirjaa</a></center>"; } } function BBcode ($data) { $data = preg_replace("/\[(\/?)(b|u|i|s|strike|blockquote|code|pre)\]/i", "<$1$2>", $data); $data = preg_replace("/\[url\](.*)\[\/url\]/i", "<a href=\"$1\" target=\"_blank\">$1</a>", $data); $data = preg_replace("/\[url=(.*)\](.*)\[\/url\]/i", "<a href=\"$1\" target=\"_blank\">$2</a>", $data); $data = preg_replace("/\[img=(.*)\](.*)\[\/img\]/i", "<IMG SRC=\"$1\">", $data); return $data; } ?>
Tulee varmaan vähän pitkäksi, mutta mä ihmettelen, että mutä tonne perään pitää lisätä, jotta vieraskirjaan saisi (kuvan nimi puuttuu!) kuvanosoite/kuva.jpg[/img] BBcode tagin?
Kuten näette niin lisäsin loppuun jo itse sillaisen kuin
$data = preg_replace("/\[img=(.*)\](.*)\[\/img\]/i", "<IMG SRC=\"$1\">", $data);
mutta se ei toimi, kun se ei näytä sitä kuvaa... pelkästään tekstin (kuvan nimi puuttuu!) kuvanosoite[/img] vaikka sen ei pitäisi sitä näyttää vaan kuva.
Toimiskohan:
$data = preg_replace("/\[img](.*)\[\/img\]/i", "<IMG SRC=\"$1\">", $data); return $data;
Aihe on jo aika vanha, joten et voi enää vastata siihen.