ラウンジ(兼FAQ掲示板)

Shadow v.2.06が機能しません。
過去ログ NO.1111580963
□ はるか [2005年03月20日15時29分]
はるかと申します。先だってメールフォームに続いて2度目の質問です。お助けください。
Shadow v.2.06 多機能ハイブリッド掲示板を一応設定はしてみたのですが、投稿が反映されず表示されません。
shadow.cgiを開いてテキストを見るとshadow.cgiは書き換えられていますが、webには出てきません。それから

カラーバレットが全然機能しなくて、掲示板のpalette.gifに触ってもpalette.pngが出て来なくて
「ページでエラーが発生しました」とタスクバーに表示されます。
リセットボタンに触れてもエラーになります。
ここのサンプルはスムースには支障なく投稿できますが、どこが悪いのでしょうか。サーバはinfoseekで、
ご本尊のCGIは

http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/shadow.cgiです。
下に変更した部分と構成階層、バーミッションを書きますので、宜しくおねがいします。

#--------------------◎変更した設定部(そのままのところは略)-----------------#
#! /usr/local/bin/perl

# マスターパスワード
$master = "abc123";

# 画像設置ディレクトリ
$img_dir = "
http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/image";

# 背景用画像設置ディレクトリ
$bgi_dir = "
http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/bgi";

# 作業用ディレクトリを
http://からのURL形式で記述(最後に/を付けない)
$up_dir = "
http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/temp";

# ↑のボタンをクリックした時の移動先
$home = "#";

# ページタイトル
$pagetitle = "cgi探索";

# 画面最上部に表示されるタイトルの文字列
$title = '<span style="font-family:Impact; font-size:20pt; color:orange;">はるかなる旅路</span>';

# 背景画像の使用を有効にしている場合は背景画像設置ディレクトリのURLを記述
$www_bgi = "
http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/bgi";

#------------------- 設定部ここまで --------------------------#

◎階層とバーミッション

...├/index.html
...│
...└/cgi-bin/              規程のディレクトリ
.......│
.......└/shadow/ 任意のディレクトリ
............│
............├ /image/ 画像設置ディレクトリ
............│...├ bl.gif
............│...├ br.gif
............│...├ clr.gif
............│...├ error.gif
............│...├ file.gif
............│...├ glh.gif
............│...├ glv1.gif
............│...├ glv2.gif
............│...├ new.gif
............│...├ new_mode.gif
............│...├ palette.gif
............│...├ palette.png
............│...├ pbl.gif
............│...├ ptl.gif
............│...├ ptr.gif
............│...├ res.gif
............│...├ res_mode.gif
............│...├ sb.gif
............│...├ sr.gif
............│...├ tl.gif
............│...└ tr.gif
............│
............├ /bgi/ 背景画像設置ディレクトリ
............│
............│
............│
............├ /temp/ (777) 作業用ディレクトリ
............│...│
............│...└ data.cgi (666) データ記録用ファイル(空のファイル)
............│
............│
............│
............│
............├ shadow.cgi (755) メインスクリプト(HPのメニューからは、このファイルにリンクする)
............│
............├ jcode.pl 日本語変換ライブラリ
............│
............└ csm_mail.pl メールデータ処理ライブラリ

□ NXer [2005年03月20日22時44分]

はるかさん、こちらから投稿テストをさせていただきました。
同じ不具合が発生しました。そこで初めてshadow.cgiをダウン
ロードして一箇所だけ変更した後、ローカルサーバーでテスト。
問題なく動作しました。NXerです。

変更した行は↓61行目です:
--------------------------------
60 # 作業用ディレクトリをhttp://からのURL形式で記述(最後に/を付けない)
61 $up_dir = "http://127.0.0.1/~user/shadow/temp";
----------------------------------

当方のウェブ環境は、旧いウィンドウズ、ブラウザは比較的新
しいIEです。
はるかさんの環境が当方には不明です。したがって以下の説明が
どの程度当てはまるのか、皆目見当もつきません。何か手がかり
が含まれていれば、幸いです。

スクリプト中に
------------------------------メーラーについて
176 # Outlook Express 6でしか動作確認をしていません。
---------------------ブラウザーand/orメーラー?OS?
297 $N4 = 1;
302 $MC = 1;
----------------------
とあります。メーラーのテストはしてありません。MCとはマックです。
N4とはおそらくネットスケープでしょうか。当方もネットスケープでは、
電光のメッセージ、hyper_indexの数字の表示など不具合が発生します。
スクリプトの複雑さの相当部分は、ブラウザー対策のためです。当方は、
アマチュアですから詳細は不明ですが、すえぽんさんのスクリプトから
もれてくる時折のブラウザに対する苦言が分るような気がします。

もしブラウザーにIEをご使用で、しかも不具合が発生しているとしたら
何が原因でしょうか。

はるかさんと当方の初期設定の違いは、どこにあるのでしょうか。
次の移動先の指定が元(□印)の相対パスを使ったindexファイルが
違います。
------------------------------------------
79 # ↑のボタンをクリックした時の移動先
80 $home = "#";
□ $home = "../index.html";
--------------------------------------------
すえぽんさんの場合は、2つ上のディレクトリにindex.htmlが
ありますが、はるかさんは、/cgi-bin/分一段深くなっています。
○ $home = "../../index.html"; となるのでしょうか。

しかし、これは、上の不具合とは関係ないような気がします。

では、次の初期設定はどうでしょうか。相対パスをすべてhttp://から
始まるURLにされています。すえぽんさんの括弧書きのとおりです。

-----------------------------------------------------------
26 # 画像設置ディレクトリ(http://からのURL形式でも可、最後に/を付けない)
27 $img_dir = "http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/image";
32 # 背景用画像設置ディレクトリ(http://からのURL形式でも可、最後に/を付けない)
33 $bgi_dir = "http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/bgi";
60 # 作業用ディレクトリをhttp://からのURL形式で記述(最後に/を付けない)
61 $up_dir = "http://netharukaze.hp.infoseek.co.jp/cgi-bin/shadow/temp";
-----------------------------------------------------
問題は、ないと思われます。

こちらでも/cgi-bin/ディレクトリを作成して、すえぽんさんの相対パスのまま
テストをしてみました。それでも何も不具合は発生していません。
/shadow/ディレクトリ直下でcgiファイルが動作している限り
./ つまり今動作しているディレクトリ(カレント)内の各ファイルに
アクセスできるはずですから。

他の初期設定が不明です。
-----------------------
17 # このファイルの名前
18 $script = "shadow.cgi";
20 # 作業用ディレクトリ(最後に/を付けない)
21 $dir = "./temp";
23 # データ記録ファイル
24 $file = "data.cgi";
------------------------
当方はこのままです。カラーパレットも機能して文字・背景色
を指定できました。

基本的には、shadow.cgiファイルを呼び出して各ルーチンが
動作します。
パレットのスクリプトに<body>など自動広告挿入スクリプトを
起動するキーワードが含まれていると、不具合が発生する可能
性はあります。

>カラーバレットが全然機能しなく

cgiを運用するには、サーバーに思わぬ負荷を掛けないように、
サーバーに障害を発生させないために、ローカルサーバーを構築
して、事前にスクリプトをテストする必要があります。
当方では、IEを使い、ローカルで問題なく使えます。はるかさんが
もし、まだ未構築なら、ですが、末永政昭 『JavaScript+CGIハイ
ブリッドスクリプト』(すえぽんさんの著作)DART、2004などに記
述されている手順で短時間内に、ご自身のコンピュータをウェウ
サーバーに換えることができます。

機能するのか、しないのか、原因はなにか、をかなり絞込む
ことができます。変更すべきか、それともあきらめるべきか
も判断ができます。このあたりは、苦しみつつ楽しむの境地
かもしれません(微苦笑)。何かわかりましたら、ラウンジに
てお知らせください。
□ はるか [2005年03月21日10時06分]
 おはようございます。今日は春分の日、この連休はすえぽんCGIに魅入られて
 ディスクトップと睨めっこ、またまたNXerさんにお手間をかけているようです。
 当方は、アマチュアですからだって、とんでもない、私にとってはNXerさんは
 神にも等しいはるかなる大先生です。

> 変更した行は↓61行目$up_dir = "http://127.0.0.1/~user/shadow/temp";です:
 わたしも再度同じようにしました。

> 環境が当方には不明です。
 OSはWindows95を98に、ブラウザはIE6にバージョンアップしています。
 友人から2年ほど前に譲ってもらった富士通の古いパソコンです。それまではワープロ専用機でインターネットはしていましたがパソコンは新米です。

> ○ $home = "../../index.html"; となるのでしょうか。
 これは指摘どおりでした。階層のパス指定が間違っているのかと試行錯誤した結果です。

> パレットのスクリプトに<body>など自動広告挿入スクリプトを
> 起動するキーワードが含まれていると、不具合が発生する可能性はあります。
 ★このヒントによって原因が判りました。
 作成した不機能掲示板shadowをよく見ると上下に付着しているはずの広告がありません。
 infoseekの無料スペースでページを作ると<body>の直ぐ後と、最終の</html>の後に広告タグが自動挿入されます。
そこで不機能掲示板shadowのソースを取って<body>の直ぐ後のタグを削除してHTML保存しブラウザに呼び出して実験しました。サーバー上ではないので画像など表示しませんが、あら不思議、クリックしても無視するはずのバレットを突つくと選択フォームが表示し、投稿を突つくと、NotFound が表示されました。ちょっと不満ですがこれで問題解決ですね。
 邪道ですが、この対処法はありませんか。参考までにあったら教えてください。

> もし、まだ未構築なら、ですが、末永政昭 『JavaScript+CGIハイ
> ブリッドスクリプト』(すえぽんさんの著作)DART、2004などに記
> 述されている手順で短時間内に、ご自身のコンピュータをウェウ
> サーバーに換えることができます
★そんなむつかしそうな、私に理解できるでしょうか。
 英語とパソコン用語は大の苦手なんですが、その本やさしく書いてありますか。
 プロの書いた本を理解できる人はプロだと思っていました、
 素人には難しくだから、パソコン教室が成り立つものと思っています。(大苦笑)/
★さん今回も勉強になりました、NXerさん、ありがとうございます。
 またあたらいしものを求めてはるかなる苦悩の旅を・・・・・
□ NXer [2005年03月21日20時47分]

>魅入られ
こちらは、春のうららかな陽光のもとですが、マスクが離せません。
変なものに魅入られました。NXerです。

>その本やさしく
「そんな私"suepon"も専門的な勉強をしてきたプログラマではありません。」
(まえがきより)。
「もしあなたが初心者であっても、まずはこの本に掲載されている
サンプルを丸写しにするところから始めればいいのです。」とも。

おそらく同書に従えば、ローカル・サーバーの構築は、cgiの設置ほど
は悩むことはないと思います。同書の第1章に出ています。
cgiは、多くの人が共有するサーバーに取り返しのつかない障害を引き
起こしかねない代物であるために、事前にローカルでそれを試す必要が
あります。これは、ウェブ利用者の大切なエチケットである、との
認識から、すえぽんさんは、ウェブプログラミングを展開する前に、
ローカルサーバー構築を、画像を添えた文で手順を説明されています。
Windows98にも対応しています。ウェブソフトと、cgiに必要なPerl(パール)
というスクリプト言語のダウンロードサイトも記載されています。
後者は英語サイトですが、選択するキーにはクリックの指示が
ありますので、迷わずインストールできます。

>無料スペースで

以下は、ラウンジの趣旨を逸脱するおそれがあり、主宰者すえぽんさんに
ここでその点をお断りします。

さて、現在当方の知りえた範囲でcgiの環境は、次のように類別できます。
1)biglobe,niftyなどcgiを許可する有料プロバイダー
2.1)infoseekのようにcgiを許可する無料のHPサービス
   ただし、運営は広告収入に依存するため、自動広告挿入があります。
2.2)バナー広告や、ポップアップ広告など形式を選ぶことができるサービス
2.3)ロリポップのように無料であるが、広告なしのHPサービス
3) レンタル・サービス

この内、自動広告挿入については、利用者が守るべき規約に、広告表示を
義務付けている一項があると思います。義務違反は、発見次第無条件に登
録抹消になるおそれがあります。違反を繰り返す反社会的な人も多いらしく
そのような違反行為を報告する様式を公開し、違反の防止策をとっている
HPサービスも、あるようです。

広告自動挿入の原理が分れば、容易に表示を回避することができます。
そのために、規約に不案内な、cgi利用の初期の時期に、多くの利用
者が、思いつく行為です。したがって、そのことに当ラウンジで言及
するのは、大変躊躇します。

いかなる条件であっても、規約の遵守を大前提とした回答になるよう
に注意をしています。設置の障害になる場合は、回避ではなくて
1)該当するcgiスクリプトの設置をあきらめる
2)無料から広告無しの有料サービスに契約を変更する、
3)選択が可能な場合は、広告形式を障害のない形式にする
などをお勧めしています。

>あたらいしものを求め

数箇所を引用し、はるかさんの問題点と変更点、さらに
解決策をまとめていただきました。当方のレス中、どの情報が
どのようにご利用いただけたのか、とてもよく分りました。
同じcgiをこれから利用しようとする方にもこの情報が生かされる
ものと確信します。以上です。

******************************(愚観(大笑))
しばしば、「正解」を求めることだけが各種試験で強調されます。
しかし、より大切なのは、質問の質のような気がします。
当方の愚論・笑論から、質問者が真に必要とする答えを導いてくださる
不思議な縁を、本日彼岸の中日故に、強く意識します。
□ はるか [2005年03月23日09時08分]
NXer先生に見て頂きたくて、もって来ました。
中途半端ではどうしても寝覚めが悪くて、頑張った結果です。。
http://www2u.biglobe.ne.jp/~se_hom/cgi-bin/shadow/shadow.cgi

さて、infoseekの機能不全の原因ですが
失敗掲示板のソースを観察すると。
本来なら{336行目}<body text="black" bgcolor="white" onLoad="ini();resept();">
につくはずの自動広告<!-- isweb auto-insert */ -->
<div align="center"><iframe src="http://hpad.www.infoseek.co.jp:80/></iframe></div>
<!-- inserted by isweb server/* -->"


{245行目}IMG = 'margin:0px;' onContextmenu='conf();return false'>

の後に付いているようです。多分ここにも<body>がありますので本物の<body>の位置をまちがえたのだとおもいます。
ではこれでこの件はめでたく解決ということでこのレスは終わりにします。
又はるかなる旅を・・・・・宜しくです。

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2009 suepon , All rights reserved. Powered by CGI Script Market.