HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0711
ALPHONSEHSP3CLによるCGIのエラーについて5未解決


ALPHONSE

リンク

2007/7/11(Wed) 19:50:35|NO.9437

今回抱えている問題がHSPと直接関係なかったらごめんなさい。
現在、HPの大規模改修中(自鯖移行中)でせっかくなのでHSPでCGIでもやってみようかと思いました。

自分のパソコンで試しているうちは順調にHP上でHSPのCGIが動いていたんですが、
一部の友達から"CGIが読めない"との連絡をもらいました。

自分のパソコンでは問題なく動いていたのでWWWサーバーのソフトの設定がわるいとは思えません。

動かないとの指摘を受けたのは

http://alphonse.mine.nu/kodakaku/new/

の左側のカウンタ+メニュー部分です。

どなたか同じ経験をなされている方、
または、解決策をご存知の方、ご意見をよろしくおねがいします。

ちなみに私のPC環境は
Vista + IE7
2000(Sp4) + IE6
です。読めなかった友達の共通点はみなXPだったことです。
ちなみにHSPに付属されているCGIのサンプルは自分の環境で実行した場合、
問題なく動作していましたが、XPの人間ではエラーになるそうです。

最後に上記カウンタ部のソースを記載しておきます。

#runtime "hsp3cl" #include "comm.as" #include "mod_getenv.as" #packopt type 0 #packopt name "count" #packopt runtime "hsp3cl.hrt" mes "Constent-type: text/html\n\n" dim n : n = 4 dim i dim count sdim buff,16 sdim path,64 sdim file,512 : notesel file sdim num sdim ipadd sdim cc sdim week,3,7 sdim month,3,12 week(0) = "Sun" week(1) = "Mon" week(2) = "Tue" week(3) = "Wed" week(4) = "Thu" week(5) = "Fri" week(6) = "Sat" month( 0) = "Jan" month( 1) = "Feb" month( 2) = "Mar" month( 3) = "Apr" month( 4) = "May" month( 5) = "Jun" month( 6) = "Jul" month( 7) = "Aug" month( 8) = "Sep" month( 9) = "Oct" month(10) = "Nov" month(11) = "Dec" getenv cc, "HTTP_COOKIE" getenv ipadd, "REMOTE_ADDR" ipadd = strmid(ipadd,0,3) path = "log.txt" exist path if( strsize = -1 ){ count = 0 }else{ noteload path noteget buff,0 count = int( buff ) if((int(ipadd)!= 192)&&( cc = "" )){ count++ } } path = "side.html" exist path if(strsize == -1 ){ mes "ファイルが見つかりません。" } noteload path repeat notemax noteget buff,cnt if( buff != ""){ if( No_sidespace(buff) == "<put_counter>" ){ num = set_zero(count,n) repeat n i = peek( num , cnt ) - '0' mes "<img src=\"count/" + i + ".png\" border=\"0\">" loop } if( No_sidespace(buff) == "<put_cookie>" ){ ; mes "<meta http-equiv=\"Set-Cookie\" content=\" count = 1 ; expires = " + week(gettime(2)) +"," + gettime(3) + "-"+ month(gettime(1)-1) +"-0000 14:59:59 GMT; \">" mes "<meta http-equiv=\"Set-Cookie\" content=\" count = 1 ; expires = " + week(gettime(2)) +"," + gettime(3) + "-"+ month(gettime(1)-1) +"-"+gettime(0)+" 14:59:59 GMT; \">" } if( (No_sidespace(buff) != "<put_counter>")&&(No_sidespace(buff) != "<put_cookie>")){ mes buff } } loop file = "" noteadd "" + count, path = "log.txt" notesave path

side.html内の<put_counter>をカウンタとして画像に置き換えます。
No_sidespace(文字列)は文字列の前後の空白を削除した文字列を返す関数でcomm.asに記述、
set_zero(数字,桁数)は数字を数字を指定桁数の文字列として返す関数、
例えばset_zero(23,4)なら0023となります。これもcomm.asに記述されています。



この記事に返信する


ALPHONSE

リンク

2007/7/11(Wed) 19:55:20|NO.9438

ちなみにWWWサーバーのソフトはAN HTTPDです。



Irisawa

リンク

2007/7/11(Wed) 20:45:00|NO.9439

お久しぶりです。Irisawaです。
最近、ちょっといろいろ疲れたりなんだりでほとんどHSP関連で活動していませんでした。

で、こちらで試した限りでは表示はされています。
WinXP Home(SP2)+IE 6.0(SP2)です。
サーバ側の環境で見れているのに、他の環境で見れないというのはダメな環境側の
クライアントの問題であると思います。
そのダメだった人のブラウザ(ブラウジングエンジン)は何でしょうか。

あと、count.exeが出力するHTMLソースを見てみたのですがアンカータグの中にヘッダタグ
があったりと、文法的に間違いがあるように見えます。
HTML-lintでチェックかけてみてください。

http://openlab.ring.gr.jp/k16/htmllint/htmllint.html



ALPHONSE

リンク

2007/7/12(Thu) 14:16:49|NO.9447

Irisawaさん、お早い返答ありがとうございます。

友人達の話ではOpera、IE6、FireFoxです。

あとアンカータグっていうのは
<A>
ですよね?



Irisawa

リンク

2007/7/13(Fri) 01:09:16|NO.9458

> 友人達の話ではOpera、IE6、FireFoxです。

すべてでダメなのでしょうか。
一度直接見るか画像を送ってもらった方がいいかもしれません。

> あとアンカータグっていうのは...

そうです。<A>タグです。
相手方のOSなど、より細かい環境もあると分かりやすいかも。

ところで、この場合はメニューの部分をCGI化する必要はないような気が。
動的コンテンツでもないですし。



ALPHONSE

リンク

2007/7/14(Sat) 10:56:51|NO.9505

ただいま、いろんな友達に協力してもらって開いてもらったのですが、
最近ではXPでも開ける人もいて、結論として一部の人が見れない。
とのことなので、相手方の設定がまずいんじゃないかとと思い始めました。
(相変わらず共通なのはXPってことだけです。)

えぇっと・・・カウンタって動的コンテンツだと思うんですが?
違いましたか?
現在HSPCGIの勉強中なのでまだまだ知識不足ですが、
一部に埋め込むこともできなかったような気します。
(<foam>でHSPにデータが送れるのはわかっています。)

なにか、カウンタ作成において効率のいい手法がありましたらご享受ください。
よろしくお願いします。



ONION software Copyright 1997-2021(c) All rights reserved.