インフォメーションBBS

[使い方] [タイトルのみ] [関連発言] [最新20発言] [過去ログ一覧]
1199 うはく [RE] 2001/10/01 20:11 [修正]
RE:ミニBBSのアレンジで・・
#1197(タカマン氏)の書き込みを引用します:
>いろいろアレンジしたのですが以下の二つがどうしても
>できないので教えてください。
>
>@上にある書きこみ欄を一番下に移動したい。
>A新しいメッセージは古いメッセージの下に表示する。

まず2.について
bbs.cgiの113行目からの
### HTML文書の出力:書き込まれたメッセージを新しい順に
foreach $line (@logs) {

で@logから新しい順に一行づつ切り出して表示しているので
@logを逆順にしてしまえば古い順に表示できます。
逆順にするには reverse を使えばいいので

### HTML文書の出力:書き込まれたメッセージを古い順に
foreach $line (reverse @logs) {
にすれば出来ます。

1.について
bbs.cgiの86〜107行目を切り取り、129行目あたりに貼り付けるだけで出来そう。
って思ったけどログの出力のときに同じ名前の変数を使ってしまっているので
表示がおかしくなってしまいます。
そこで今回は、114行目あたりのログ出力時に用いる変数をlocalにしてみました。

まとめ
86行目〜107行目
<form method="POST" action="$self">
〜
</form>
を切り取り、128行目の
<hr>
の下あたりに貼り付け。

116行目の
  ($date, $name, $addr, $text) = split(/¥t/, $line);
を
  local($date, $name, $addr, $text) = split(/¥t/, $line);
にする。
の2点で解決できます。


ミニBBSにおいては一応確認はしましたが、何か弊害があったらご報告願います。
(ミニBBS以外では全く確認してないです…)

1個のレスポンスが付いています:
1203 2001/10/03 10:25 RE2:ミニBBSのアレンジで・・ = タカマン

[トップページに戻る]管理人 : キャメル