ゲストブックのコメントへの返信にスマイリーを追加しました
このコードで1つのコメントに返信したいとき、それはうまくいきます:
if (isset($_GET['action']) && $_GET["action"] == "reply" ) {
$commentrpl = substr(stripEmails(strip_tags($_POST["txtreply"])), 0, 250);
$rpl_arr = array(
"O:-)" => "<img src=\"".DOC_ROOT."images/sml/aa.gif\"\/>",
":-)" => "<img src=\"".DOC_ROOT."images/sml/ab.gif\"\/>",
":-(" => "<img src=\"".DOC_ROOT."images/sml/ac.gif\"\/>",
);
$commentrpl = strtr($commentrpl, $rpl_arr);
$osDB->query('UPDATE ! SET reply = ? WHERE id = ?', array(
COMMENTS_TABLE,
$commentrpl,
$_REQUEST["commentid"]
));
}
しかし、返信が必要なコメントが増えるとすぐに、スマイリーは機能しなくなります。(クリック不可) すべての返信でスマイリーを使用できるようにするには、何を変更する必要がありますか?
これも問題になる可能性のあるJavaScriptの一部です。
function smile4( txt ) {
doInsert(" " + txt + " ", "", false, document.getElementById('txtreply'));
}
形:
<form name="reply" method="post" action="showprofile.php?id={$profileid}&commentid={$item.id}&action=reply">
<textarea id="txtreply" name="txtreply" cols="50" rows="5"></textarea>
<img src="images/sml/aa.gif" onclick="smile4('O:-)');" alt="O:-)">
<input type="submit" name="btnAdd" value="{lang mkey='send'}" />
</form>