CGI-BBS > SO−HO > ショッピングバスケット > プロv3のsearch.cgiを表示すろと、ページでエラーが発生となる


カレッヂ
カレッヂ


質問者 石川  投稿日 10/11(金) 12:00:24
こんにちは。プロv3を使わせて頂いています。

search.cgiをフレームで使用しているのですが、(↓実際のページです。)
http://www.ryutan.co.jp/simamun/kensan-frame.htm
このページを表示したとき、ステータスバーに「ページでエラーが発生しました。」と
でます。(search.cgiだけを表示した時でもこのエラーは出ました。)
そしてそのエラーをダブルクリックして詳細を出すと、下記のようなエラー詳細がでます。
┌――――――――――――――――――――――――――――――――――――――
|Webページに問題があるため、正しく表示または機能しなくなる可能性があります。
├――――――――――――――――――――――――――――――――――――――
|ライン:
|文字:1
|エラー:'document.Item' は Null またはオブジェクトではありません。
|コード:0
|URL: http://www.ryutan.co.jp/ショッピングバスケットプロ3.23/search.cgi?file=A.Ao
└――――――――――――――――――――――――――――――――――――――

文字化けするなど、私の方では特に異常は見当たらないのですが、
実際、CGIの部分が表示されないという方がいらっしゃいました。

素人考えなのですが、思うに↓下記の記述が引っ掛かってエラーがでているのでしょうか?
if ($backreset) { $body =~ s/<body/<body onLoad="document.Items.reset();"/i; }
                                                 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
CGI初心者で、解決策がみつかりません。
どなたか解決する方法をご存知でしょうか?
どうか宜しくお願い致します。

プロバイダ参照:http://www.deskwing.net/index.html
サーバのOS:不明
パソコンのOS:Win95系
エディタ:
FTPソフト:FFFTP
サーバ移転:していない
改造:(未選択)
CGI習熟度:beginner

回答者 呑兵衛@大阪  [削除]  投稿日 10/12(土) 18:25:41
質問1
○ソフトウエアの使用に関する表示
  ソフト名:ショッピングバスケットシステム・プロ(c)www.rescue.ne.jp
  シェアウエア登録:$reg
が表示されるはずなのですが、どこにあるのでしょうか?

質問2
エラーのでるプラットフォーム、ブラウザ、それぞれのバージョンは何でしょう。

問題1
frame タグの書き方が InternetExplorer Opera でしか解釈されません。
Netscape では下の右フレーム(search.cgi)の解釈が出来ません。

当方、Windows 98、Windows XP で
Netscape Ver 4.78, 6.2*, 7.0、Opera Ver 6.05 InternetExplorer Ver 5.5, 6.0
で試しましたが、エラーの表示はありません。

以後、著作権の表示(シェアウエァ番号含む)をされたのち、問題の解決に当たりましょう。
回答者 呑兵衛@大阪  [削除]  投稿日 10/13(日) 10:51:43
問題1の追加です。
Mac(OS9.0)版 InternetExplore5.1、Netscape Ver 4.* 、6.2 も同じ状態です。
HOMEPAGE BUILDER などは便利なコンポーザーですが、HTML書式の勉強にはなりません。
HTML書式の一定のマスターや、少なくともプラットホーム(Windows,Mac)ごとに
Internet Explorer、Netscapeでの動作テストをする必要を感じます。商売用ならば。
質問者 石川  [削除]  投稿日 10/17(木) 09:29:42
呑兵衛@大阪 様、ご回答を有難う御座います。
お返事が遅れて申し訳御座いません。

質問1 の著作権の表示についてですが、
ちょっといいわけになってしまうのですが、前任者と引継ぎをちゃんとしておらず、
表示がされていないことに気付いておりませんでした。申し訳御座いません。

また、多少改造もしてあるようで、バージョンアップも3.23以降しておりません。
もとのプログラムでは、著作権表示は自動で入るように設定されていたと思われるのですが、
CGIがほとんどわからない私では、プログラム(著作権表示の部分)を元に戻す、
もしくはバージョンアップもすることができません。

それで、ご注文フォームの下部に、下記のように直接記述しても大丈夫でしょうか?
(登録者・登録コードともに実際に弊社で取得済みのものです)

 ------------------------------------------------------------------
 ソフト名:ショッピングバスケットシステム・プロ(c)www.rescue.ne.jp
 シェアウエア登録:与儀昭夫 登録コード:C000414-P18

いずれバージョンアップするつもりではいるので、それまでの間でいいのですが・・・。

――――――――――――――――――――――――――――――――――――――――

質問2 についてですが WIN98で、IE5.0、IE6.0 にてエラーがでました。
それから、10/12(土)午後に、ためしに下線部の"s"をとってみたら、
エラーがでなくなりました。

if ($backreset) { $body =~ s/<body/<body _on_load="document.Items.reset();"/i; }
                                                               ̄
これについてもご報告が遅れてしまいまして、申し訳御座いませんでした。


それと、問題1の解釈ができない・・・というのはどういうことなのでしょうか。
知識不足ですみません(>_<;)
回答者 呑兵衛@大阪  [削除]  投稿日 10/17(木) 20:59:11
1 シェアウェアレジストリの件
デフォルトでは「特定商取引法」の中に現れますが、とりあえず
どこかに表示されておかれるとよろしいかと。

2 こちらでエラーが再現できなかったので分かりませんが、
setup.pl の
#◆一覧フォームを読みこんだときにフォームをリセット 1:する 0:しない
$backreset = 1;
が働き、search.cgi?file=A.Ao が読み込まれるごとにフォームに記入していた数値等が
リセットされる仕組みのものです。 search.cgi の
<body onLoad="document.Item.reset();" bgcolor=#ffffff>
と                     ^^^^
<form method=POST action="cargo.cgi" name="Item">
のオブジェクトが                           ^^^^
一致したのでエラーがなくなったと思われますが、、、、

3 解釈できない、とは表示されない、つまり商品ページが画面上現れないということです。
<FRAMESET frameborder="0" border="0" framespacing="0" rows="47,*">
<FRAME src="../frame1.htm" name="A" scrolling="no" target="main" noresize>
</FRAMESET>  ←ここにこれが足りません
回答者 石川  [削除]  投稿日 2/12(水) 10:26:58
再度お返事いただき有難う御座いました。
大変遅くなりましたが、著作権の表示(簡易ではございますが)されるように致しました。
ご指摘、ご回答、本当に有難う御座いました。

返信(回答)する


Web裏技