• 締切済み

掲示板に書き込まれたログを別ウィンドウに

掲示板のフリーCGIを少しだけ改造したいと思っています。ログが初めて表示されたときではなく、ログに変更があったとき(=書き込みがあったとき)に、別ウィンドウをオープンし、ログの内容によってWindowsに表示する内容を変えたいのですが、そんなことってできますか? 昇進機能付きの掲示板で、本当は昇進したときのみ別ウィンドウで画像を表示させたいのですが。

  • CGI
  • 回答数2
  • ありがとう数5

みんなの回答

  • _mer_
  • ベストアンサー率47% (27/57)
回答No.2

大体の状況は他の方がお応えになっているので、、 補足にあった文章で気になった事があったので書いています。 >と入れ、$mapにファイル名が入っているかどうかで、2通りの<body>行を作って、ファイル名が入っていれば >onLoad=openwindow()としてみたのですが、$mapにファイル名が入ることなく失敗でした。 とあるのですが $mapにファイル名が入ることなく、とありますが、 このHTMLを吐き出す前に判定とかしていますか? もしこの$mapファイルがあるならば、問題ない訳ですよね? なければ、違う画面を出したいのであれば、このHTMLを書き出す前に $map があるかないかを判定して処理を分けるというのが普通な気がするのですが。 ちょっと的外れかもしれませんが、気になったので一応。。。 ヒントになれば幸いです。

nonchi
質問者

補足

deagleさんの回答を見て、いろいろやってみたのですが、現在のスクリプトはこうです。 if ( $FORM{'action'} eq "regist" ) { #書き込みがあったら &regist ; #新規 } else { &update ; #変更 } &view ; #ログ表示 &footer ; 流れの大まかなところは上記のようになっているので、「regist」「update」の中で、それぞれ判断の材料としたい値を変数に入れました。 sub regist { foreach $buf ( @SVLOG ) { ($oyano,$name, ..... $syo,$d) = split(/,/,$buf); $old_gif = $syo ; #以前の画像をあとで比べるため : : unshift(@SVLOG,"$no,$FORM{'name'}, ..... $syoshin,\n"); $new_gif = $syoshin ; #書き込み後の昇進画像 : : } 次にHTMLのヘッダ部分ではなく、「view」の中にJavaScriptを移してみました。 sub view { if(($new_gif == "" && $new_gif != $old_gif) || $old_gif == "" && $new_gif != "") { $map = "./map/" . "$new_gif" . ".gif" ; print "<SCRIPT>\n"; print "function openwindow(){\n"; print " openwin=window.open(\"\",\"\",\"width=600,height=550,toolbar=0,status=0,menubar=0\")\n"; print " openwin.document.write(\"<CENTER><img src='$map' width='600' height='500'>\")\n"; print "}\n"; print "</SCRIPT>\n"; } print "new『$new_gif』old『$old_gif』\n"; # Check用(実行したらどちらも空っぽ) : : } 私の頭の中ではregistかupdateを通った後でviewにくるなら、viewの中での$new_gifには値が入ってきていると思ったのですが、表示させてみると空っぽなんです。 また、ヘッダ部分ではなくviewの中での処理にしたとき、どうやってこのJavaScriptを呼び出したらいいのでしょうか? ちなみにJavaScriptをヘッダに書いていたときは、 if ($map) { print "<body $set onload=\"openwindow()\">\n"; } else { print "<body $set>\n"; } という風にしていました。長々とすみません。よろしくお願いします。

noname#25358
noname#25358
回答No.1

 CGIから別ウィンドウを開くときは、CGI上でJavaScriptを構築してそれを出力するHTMLの中に含めます。  複数の言語(PerlとJavaScript)を混ぜてプログラムすることになるので、少々大き目の改装になると思います。  まず、出力するHTMLを構築している部分を探してきてそこにサブウィンドウを表示させるJavaScriptを加えます。  このとき、サブウィンドウのURLは自分自身にしておき、引数のフラグによって「サブウィンドウモード」で動作するようにしておきます。  あとは、サブウィンドウモード時はサブウィンドウを表示するためのルーチンが働くように Perl を改装します。

nonchi
質問者

お礼

さっそくの回答ありがとうございます。 JavaScriptのwindow.open()を使うことは考え付いて、質問する前にやったのが、HTMLの<head>の中に print "<SCRIPT>\n"; print "function openwindow(){\n"; print " openwin=window.open(\"\",\"\",\"width=600,height=550,toolbar=0,status=0,menubar=0\")\n"; print " openwin.document.write(\"<CENTER><img src='./map/$map' width='600' height='500'>\")\n"; print "}\n"; print "</SCRIPT>\n"; と入れ、$mapにファイル名が入っているかどうかで、2通りの<body>行を作って、ファイル名が入っていればonLoad=openwindow()としてみたのですが、$mapにファイル名が入ることなく失敗でした。 もちろんボタンを押してonClickによってwindowsを開くことはできたのですが、onLoad以外の方法で具体的にどのようにしてwindowsを開けばいいのでしょうか? CGIもJavaScriptも、というか本格的なプログラミング経験のない人間がするには、あまりにも無謀過ぎるかも知れませんが、勉強したい気持ちはありますので、どうかよろしくお願いします。

関連するQ&A

  • 掲示板のいたずらー外国からの書き込み

    ホームページの掲示板に外国から自動(?)書き込みが多数来て困っています。掲示板はフリーのCGIのもの(レンタルではないです)を自分で設置しています。 アクセスログもフリーのCGIのもの(あまり機能的には高度でないです。)を使っていますが、なぜかこの掲示板へいたずらは、アクセスログには検出出来ないようです。 どこから書き込みが有るか分りません。 何か対策は有るでしょうか?

  • こんな掲示板はどうやったら作れますか?

    こちらのサイトの掲示板なんですが。 http://www.pchajime.com/cgi-bin/situmon/situmon.cgi CGIの掲示板をいくつか探してみたのですが、どうもこれと同じような機能のやつが見当たりませんでした。 たいていの掲示板と違うのは、記事の上にスレッド一覧があって今どのようなスレッドがあるのかがわかる。 書き込みフォームと記事が別になっている。 誰が一番多く書き込んだのかという回数が表示できる。 投稿&返信した時間がOO時間以内に更新と表示できる。 質問区分が選択できる。 こういうことを自分でもやってみたいのですが、これと同じような掲示板を配布しているところ。または元になる掲示板があってそれの改造方法を手引きしてくれる方、などありましたら返信お願いします。 どんな些細なことでもよいのでアドバイスお願いします。

    • 締切済み
    • CGI
  • 掲示板 ログ破損

    フリーで配布されている画像投稿掲示板CGIを使用しているのですが DBを使わないとログ破損すると言われた事があります。 現在一日に約100件の投稿があるのですが、特に問題はありません。 一日にどのくらいアクセス数や投稿数が増えるとログ破損が起こる等 具体的な数字はありますでしょうか? また、画像投稿掲示板は、PHPにしてDBを使えば 多くのアクセスや投稿があっても耐えられるのでしょうか? (携帯専用掲示板です) ご教授頂けると幸いです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • このサイトの様に自動で掲示板のログを保管したい

    http://musashi.nm.land.to/ 上記のサイトは、 http://umekaz2.sakura.ne.jp/pbbs/bbsnote.cgi 上記のお絵描き掲示板のログを自動で保管しているようですが、 この様なCGIはどのようにしているのでしょうか? 何か良い参考文献、フリーCGI等ありましたら教えて下さい。 因みにCGIに関する知識は、配布されている掲示板の設置とそのデザインの変更が多少出来る程度です。 よろしくお願いします。

    • 締切済み
    • CGI
  • 無料の掲示板

    先日geocitiesでホームページを解説したのですが、掲示板にも様々な機能があることを知りました。 特に、「自作アイコン」「昇進システム」といった機能のある掲示板に惹かれたのですが、調べた結果、geocitiesのゲストブック機能では、 1. 外部呼出機能がない 2. もともと昇進システムがない ため、別のフリーの掲示板を探しています。 そこで、質問なのですが、 1. 自作アイコン機能 2. 自作アイコンはPCから直接転送 3. 昇進システム 4. 昇進システムについて、自分で名称の設定 ができるフリーの掲示板スペースをご存知の方、ぜひ教えてください。

  • 掲示板のログとカウンターの数字が同時に消えました!

    ニフティでホームページを作っています。 フリーのCGIで配布されているカウンターと、掲示板(別々のところの)を使っていましたが、気づいたら掲示板のログが消えて、カウンターも1に戻っていました。 調べたところ、カウンターの数字を記憶しているdatファイルはサーバーにあったのですが、中身が白紙になっていました。数字が全くないのです。 カウンターは1のままで誰が何度クリックしても 数字は増えなくなっていました。掲示板は真っ白で書き込みもできなくなりました。 掲示板のログを記録しているdatファイルが存在してるのに中身だけ消えて白紙になってました。 (掲示板のログのdatファイルは四つあり、現在の分の一番新しいものだけが中身が消えてました。) ニフティに聞いても、なにも操作はしてないといわれそのCGIのエラーではないかといわれましたが、同時に二つのものが壊れるとは考えられないのです。 最近はファイルのアップロードもしていなかったので、間違えて削除したとは考えられません。 しかもファイルがないならともかく中身だけ白紙に戻るとは、何が起こったのか全くわからないのです。 原因がわかる方がいらしたら、教えてください。 ログを戻すことはやっぱり不可能ですよね。消えてるわけだから。また同じことにならないようにしたいので、何かありましたら教えてください。 中身が消えたファイルは「Daycount.dat」と「4.dat」という名前です。

  • 掲示板へのおかしな書き込みを防止したい

    個人で趣味に関するサイトを立ち上げております。 サイト内には、掲示板を設け、誰でも書き込みができるようにしてあります。掲示板は、フリーで配付されていたCGIスクリプトを作成者様の許可を得て少し改造したものです。 最近、おかしな書き込みがされるようになりました。 いかにも怪しいURLが羅列されている、といったものです。(もちろんクリックしたことはありません) 毎日同じドメインのメールアドレスが記載されているので、アクセス制限をかけようと思い、ホストなどを調べようとしたのですが、書き込みをされた時間帯にサイトトップページのカウンターも掲示板のカウンターも回っておらず、調べることができません。 掲示板のURLを変更したりもしましたが、書き込みは変わらずに続きます。 書き込みできなくするにはどのような方法があるでしょうか。 詳しい方がいらっしゃいましたら、ご助言をお願いいたします。

  • フリーCGIの掲示板を探しています

    フリーCGIの掲示板(kentのjoyful)を現在利用してますが、悪質書き込みに悩まされています。 一応、ワード規制、IP規制等セキュリティ対策機能はついているのですが、それでもなかなか対応できません。 それで、書き込みを管理者がチェックしてから表示できるようなものを探しているのですが、画像のUPは事前チェックができるものがあっても、コメントについてできるものがなかなかみつかりません。 もし所在をご存じの方教えてください。 CGIで作成してftp等でUPできるものを希望します。

  • cgiを使った掲示板について

    cgiについて非常に無知なため、笑われるかもしれませんが 教えていただきたいことがあります。 あるサイトの掲示板の過去ログをみたいと思っております。 アドレスの欄をみると、 http://www.○○○○○○○○○/○○○○○○/light.cgi となっており、cgiを使っていることだけはわかりました。 このサイトでは今表示されているものしか見れないのですが それ以前の書き込みをみたいと思っております。 何か方法はあるのでしょうか? 是非ともよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 掲示板のログの共有??

    私は今、自分とその友達のためのWebページを作成しているのですが、友達のほとんどがパソコンをもってなくて、i-modeなど携帯からのアクセスになります。 携帯用のページはなんとか出来るんですが、掲示板作りに困っています。 CGIを提供しているサイトから掲示板用のCGIをDLして自分のプロバイダのサーバーに置いているのですが、 パソコン用にできているので、携帯からだと見にくいのです。 携帯用というのを考慮して携帯用の掲示板のCGIを置いたんですが、今度はパソコンからはちょっと殺風景に見えちゃいます。 この携帯用の掲示板はいろんな携帯(ドコモやJPHONEやezwebやエッジなど)に対応してる(自動に対応したページにとんでくれる)ので携帯からはとても高機能で気に入っています。 パソコン用の掲示板も気に入っているので使っていきたいです。 前置きがかなり長くなってしまいました。(^-^; 質問です。 ☆ふたつの違う掲示板のログファイルは共有できるんでしょうか?? ☆また、どういうふうにするのでしょうか? レンタル掲示板を利用すればいいのですが、どうしても(エセ?)自作CGIを置きたいです。 どうかよろしくお願いします。(>_<)

    • ベストアンサー
    • CGI

専門家に質問してみよう