(現在 過去ログ13 を表示中)

HOME HELP 新着記事 トピック表示 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■10363 / inTopicNo.1)  I-Board投稿削除時の発言ランキング修正について
  
□投稿者/ ちゃたろう -(2005/01/06(Thu) 19:22:03)
http://www.chataro.net/akko/cgi/ibbs/ibbs.cgi
    お世話になります。初心者のちゃたろうと申します。よろしくお願いいたします。
    I-Board/2001最新版の発言ランキングについて改造に関する質問があります。

    (1) 投稿者が自ら発言を削除した場合に、現行では、発言回数はそのままですが、発言回数を自動的に1つ減らしたい。
    (2) 管理者が投稿者の発言を管理者画面で削除した場合にも、同じく投稿者の発言回数を自動的に1つ減らしたい。
    趣旨としては、厳密に発言回数をカウントしたいということです。

    些末な質問で申し訳ありません。
    過去ログをいろいろ検索しましたが、わかりませんでした。
    設置している掲示板は、
    http://www.chataro.net/akko/cgi/ibbs/ibbs.cgi
    にあります。
    ソースの改造は全くしていません。初期設定のままです。
    また、CGIの改造経験もなく、これからPerlの勉強を始めるところです。

    ご多忙の折、誠に恐縮ですが、どなたかご教授のほどよろしくお願いいたします。
引用返信 [メール受信/ON] 削除キー/
■10365 / inTopicNo.2)  Re[1]: I-Board投稿削除時の発言ランキング修正について
□投稿者/ りゅういち -(2005/01/07(Fri) 04:30:35)
http://www.cj-c.com/
    No10363に返信(ちゃたろうさんの記事)
    > 趣旨としては、厳密に発言回数をカウントしたいということです。
    > > 些末な質問で申し訳ありません。
    > 過去ログをいろいろ検索しましたが、わかりませんでした。

    基本的には、名前を一致させて回数を減らすサブルーチンを作って、
    削除時にそこに名前を引数として渡せばいいと思います。
    sub rank_min {
    my $name=$_[0];
    my @Rank=();
    open(IN,"ランキングファイル名");
    while(<IN>){
    my($Name,$Count,$Email,$Time)=split(/<>/,$_);
    if($name eq $Name){$Count--;}
    push(@Rank,"$Name<>$Count<>$Email<>$Time<>\n");
    }
    close(IN);

    open(OUT,">ランキングファイル名");
    print OUT @Rank;
    close(OUT);
    }

    使うとき &rank_min("削除記事の投稿者の名前");
引用返信 [メール受信/OFF] 削除キー/
■10366 / inTopicNo.3)  Re[2]: I-Board投稿削除時の発言ランキング修正について
□投稿者/ ちゃたろう -(2005/01/07(Fri) 08:55:37)
http://www.chataro.net/akko/cgi/ibbs/ibbs.cgi
    迅速なレスありがとうございます。
    早速、確かめてみたいと思います。
    りゅういちさん、ご多忙の折、迅速かつ的確なご回答ありがとうございました。

引用返信 [メール受信/ON] 削除キー/
■10385 / inTopicNo.4)  Re[3]: I-Board投稿削除時の発言ランキング修正について
□投稿者/ ちゃたろう -(2005/01/14(Fri) 15:59:16)
http://akko.chataro.net/cgi/test/ibbs.cgi
    お世話になります。
    ご報告遅れて誠に申し訳ございません。
    今回、せっかく、コーディングしていただいたのですが、試行錯誤の末、残念ながらうまくいきませんでした。
    なお、発言回数を減少させたいケースとしては、
    (1) 投稿者が2重投稿したときに、発言回数が1つ増えるので、発言回数を1つ減少させて増えないようにしたい。
    (2) 投稿者が自ら発言を削除した場合に、現行では、発言回数はそのままですが、発言回数を自動的に1つ減らしたい。
    (3) 管理者が投稿者の発言を管理者画面で削除した場合にも、同じく投稿者の発言回数を自動的に1つ減らしたい。

    いずれにしても、発言回数が減少されません。
    ibbs.cgiのソースは、
    http://akko.chataro.net/cgi/test/ibbs.txt
    掲示板のURLは、
    http://akko.chataro.net/cgi/test/ibbs.cgi
    です。
    set.cgiはデフォルトのままです。管理用パスワードは「7777」
    オリジナルのソースの下記の行を修正したのみです。
    修正した行は、
    ・875行 &Rank_min($name);の追加 :上記(1)のケースに対応
    ・902行 &Rank_min($name);の追加:上記(1)のケースに対応
    ・1799行 &Rank_min($name);の追加:上記(2)(3)のケースに対応
    ・2366行〜 sub rank_min {ルーチンの追加
    です。
    考えられる原因は
    ・サブルーチン自体が呼び出されていない。
    ・サブルーチンの呼び出しを挿入する位置が違う。
    ・引数の渡し方が違う。
    と思います。
    お手数をおかけして誠に恐れ入りますが、何卒ご教示のほどよろしくお願いいたします。
引用返信 [メール受信/ON] 削除キー/
■10393 / inTopicNo.5)  Re[4]: I-Board投稿削除時の発言ランキング修正について
□投稿者/ りゅういち -(2005/01/16(Sun) 06:26:01)
http://www.cj-c.com/
    No10385に返信(ちゃたろうさんの記事)
    > ・875行 &Rank_min($name);の追加 :上記(1)のケースに対応
    > ・902行 &Rank_min($name);の追加:上記(1)のケースに対応
    > ・1799行 &Rank_min($name);の追加:上記(2)(3)のケースに対応
    > ・2366行〜 sub rank_min {ルーチンの追加
    > です。
    > 考えられる原因は

    エラーメッセージの後では動きません。
    エラーメッセージを表示すると強制的に exit になるためです。
    その前に入れてみてください。

    また、もう一方は一度名前を別の変数に入れた後、
    ループを抜けてから実行する形にしてみてください。
引用返信 [メール受信/OFF] 削除キー/
■10397 / inTopicNo.6)  Re[5]: I-Board投稿削除時の発言ランキング修正について
□投稿者/ ちゃたろう -(2005/01/16(Sun) 10:23:34)
http://akko.chataro.net/cgi/test/ibbs.cgi
    たびたびお世話になります。
    迅速なご回答ありがとうございます。
    今回、せっかく、ご指導いただいたのですが、残念ながら一部については、うまくいきませんでした。

    ●解決した件
    (1) 投稿者が2重投稿したときに、発言回数が1つ増えるので、発言回数を1つ減少させて増えないようにしたい。
    ・二重投稿の件は、ご教示の通り、エラーメッセージを前に入れることにより、無事解決いたしました。どうもありがとうございました。

    ●解決しなかった件
    (2) 投稿者が自ら発言を削除した場合に、現行では、発言回数はそのままですが、発言回数を自動的に1つ減らしたい。
    (3) 管理者が投稿者の発言を管理者画面で削除した場合にも、同じく投稿者の発言回数を自動的に1つ減らしたい。
    >もう一方は一度名前を別の変数に入れた後、
    >ループを抜けてから実行する形にしてみてください。
    ・whileルーチンからサブルーチン呼び出しメソッドをはずすよう、修正いたしました。(1799,1804行)
    ・最新投稿案件を削除するときは、うまく機能しました。
    ・しかし、新しい順で2番目以降の記事を削除するときは、発言回数を一つ減らしたいのですが、うまく機能していません。
    ・また、管理者が投稿者の発言を管理者画面で複数削除した場合も、削除した分だけ発言回数を減らしたいのですが、それも機能していません。

    再度、修正版をアップします。
    ibbs.cgiのソースは、
    http://akko.chataro.net/cgi/test/ibbs.txt
    掲示板のURLは、
    http://akko.chataro.net/cgi/test/ibbs.cgi
    です。
    set.cgiはデフォルトのままです。管理用パスワード・削除パスワードは「7777」

    度々お手数をおかけして誠に恐れ入りますが、何卒ご教示のほどよろしくお願いいたします。。
引用返信 [メール受信/ON] 削除キー/
■10409 / inTopicNo.7)  Re[6]: I-Board投稿削除時の発言ランキング修正について
□投稿者/ りゅういち -(2005/01/19(Wed) 04:31:54)
http://www.cj-c.com/
    No10397に返信(ちゃたろうさんの記事)
    > >もう一方は一度名前を別の変数に入れた後、
    > >ループを抜けてから実行する形にしてみてください。
    > ・whileルーチンからサブルーチン呼び出しメソッドをはずすよう、修正いたしました。(1799,1804行)
    > ・最新投稿案件を削除するときは、うまく機能しました。
    > ・しかし、新しい順で2番目以降の記事を削除するときは、発言回数を一つ減らしたいのですが、うまく機能していません。
    > ・また、管理者が投稿者の発言を管理者画面で複数削除した場合も、削除した分だけ発言回数を減らしたいのですが、それも機能していません。

    では、削除ルーチン中の
    if($DelFlag){if($I==0){$mens="$nam<><><><><><><><><>$nam<><><>\n"; $temp_na=$na;}else{next;}}
    の if($I==0){〜}else{〜} の前に &rank_min($na); を入れてみてください。
    if($DelFlag){
    &rank_min($na);
    if($I==0){$mens="$nam<><><><><><><><><>$nam<><><>\n";}else{next;}
    }
引用返信 [メール受信/OFF] 削除キー/
■10413 / inTopicNo.8)  Re[7]: I-Board投稿削除時の発言ランキング修正について
□投稿者/ ちゃたろう -(2005/01/19(Wed) 05:31:06)
http://akko.chataro.net/cgi/test/ibbs.cgi
    りゅういち様

    迅速なレスありがとうございます。
    早速確認したところ、無事解決いたしました。
    これで、安心してi-boardを使えそうです。
    りゅういちさん、ご多忙の折、迅速かつ的確なご回答ありがとうございました。



解決済み!
引用返信 [メール受信/ON] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新着記事 トピック表示 検索 過去ログ

- Child Tree -