SAK ソフトウェア FAQ - CGI カウンタ

SAK Streets メインストリート 工房 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

CGI-Perl カウンタ

Q-【アクセスカウンタ】 問題時の設置動作確認手順

■解析型カウンタは、設置が難しいのか、よく質問を受けます。
  次の手順で動作確認願います。
  尚、w_sys/ 配下のファイルは、FTP では .txt 以外も「テキスト(アスキー)」
  転送モードを使用して下さい。
  ffftp.exe、秀丸エディタ、@nifty サイトの組み合わせでは、自動判定でも
  改行削除や改行追加を行わなければ問題がないのですが、お使いの FTP ツー
  ルやサイトによっては、バイナリ転送されて改行コードが UNIX と Windows
  にうまく変換されません。
  動作があやしい場合は、w_sys/ 配下の FTP には、毎回手動でテキスト(アス
  キー)転送モードを指定して下さい。
  ダウンロードファイルを秀丸エディタで見る場合、改行コードが UNIX でも
  正常に見えてしまいます。Windows のメモ帳では UNIX 改行コードは化けて
  見えます。自信がない場合は、メモ帳での確認をお願いします。

  メモ帳で編集する場合、
  1) 普通に改行されて見えるとき、(Windows 形式の改行でローカルにある)
     → 修正後の FTP アップロードはアスキー形式
  2) 改行部分が■に化けて見えるとき、(UNIX 形式の改行でローカルにある)
     2-1) ■を壊さないように、そのまま数値だけを修正したなら、
          → 修正後の FTP アップロードはバイナリ形式
     2-2) ■を削除して、Windows の改行に修正したなら、
          → 修正後の FTP アップロードはアスキー形式
  として下さい。

  1. w_s3ctup.cgi の 54 行目付近の

#// セッション回数加算
  if ($s3ses ne '1') {

     をテスト用に次のように

#// セッション回数加算
  #if ($s3ses ne '1') {
  if ($s3ses eq $s3ses) {

     と修正します。(テスト用に単純加算に変更する)
     これは、正常に動作するようになれば、必ずオリジナルに戻して下さい。

  2. w_sys/ フォルダのパーミッションを 777 に変更する。
     もし、w_sys/ フォルダ中に 00000000_w_s3ctup.dat ファイルがあれば、
     一度削除して下さい。
     w_sys/err/、w_sys/sav/ 内にあるファイルは、無条件に全て削除して
     空の状態にして下さい。古いバージョンには err/、sav/ はありません。

  3. http://???/???/cgi-bin/s3cnt/w_s3ctds.cgi を直接呼び出して、
     2 段目のテーブルのタイトルに
     「2001.06.01 以降 アクセス回数 本日 前日 当月 前月 アクセス日付」
     と「以降」の前に日付が表示されることを確認する。
     → 日付が表示されない場合は、w_sys/ フォルダのパーミッションに問題
        がある可能性が高いです。(w_sys/ を 777 にしたか、もう一度確認)
        まれに、実行場所がカレントにならないサーバがあるかもしれません。
        Q-【IIS、PWS、Perl】 IIS、PWS では、CGI カレントが固定になる
        を参考にして下さい。
        尚、UNIX 系サーバでこの現象に出くわした経験はありません。

  4. http://???/???/cgi-bin/s3cnt/w_s3ctup.cgi を 2 〜 3 回直接呼び出す。
     2 回目からは、ブラウザ F5 の最新に更新で呼び出して OK です。
     尚、w_s3ctup.cgi の呼び出しでは空白のページが返ってくるか、待ち状態
     のままになります。気にせず、5 秒間隔ぐらいで F5 を 2 度ほど押します。
     (IE の場合です。)

  5. w_sys/ フォルダに 00000000_w_s3ctup.dat ファイルが作成できたか確認
     する。ダウンロードして実際のカウント値が書かれているか見て下さい。
     → 00000000_w_s3ctup.dat ファイルが作成されない場合は、w_sys/ フォ
        ルダのパーミッションに問題がある可能性が高いです。
        (w_sys/ を 777 にしたか、もう一度確認)

  6. http://???/???/cgi-bin/s3cnt/acounter.cgi?dsp=1 でテキストカウンタ
     表示を確認する。

  7. その他ページカウントの動作確認は、
      http://???/???/cgi-bin/s3cnt/w_s3ctds.cgi?hd=12345 のように呼び出
      すと実カウントファイルが列挙表示されます。
      「$logpw   = '12345';」を変更していれば、その値を指定して下さい。

  8. まれにセッションカウントは正常に動作するがページカウントを「.dat」
     としてしか管理できない CGI 環境のサイトがあります。
     ファイアウォールの URL ブロック使用ユーザのアクセスでは、ページカウ
     ントが「.dat」となるのですが、ユーザ側のブロックではなく、サイト側
     で直前の URL 情報 $ENV{'HTTP_REFERER'} がブロックされているか、利用
     できない環境の場合です。
     このようなサイトの場合、各ページカウントを管理することは不可能とな
     ります。また、未確認ですが恐らくリンク元解析もできないと思われます。

Q-【アクセスカウンタ】 パスワードが数字以外エラーになる

■jcode.pl を梱包していないため、$logpw に指定できるのは半角英数字だけで
  す。英数字で問題なく動作していますが、お使いの環境によっては数字しか指
  定できない場合があるようです。
  尚、別途、jcode.pl を入手いただき、s3cnt/ フォルダ内に FTP 願えるなら、
  $logpw に日本語の指定が可能となります。

Q-【アクセスカウンタ】 カウンタ初期値設定

■アクセス回数のリセット

  ・w_sys フォルダの _ct_date.txt 以外を全て削除して、_ct_date.txt に削
    除日を設定すると、全て 1 からのカウントとなります。

  ・00000000_w_s3ctup.dat と 00000000_w_s3ctup.dat.last がセッション回数、
    いわゆるアクセス件数なので、これと、_ct_date.txt 以外を全て削除する
    と、ページアクセス回数だけをリセットできます。
    00000000_w_s3ctup.dat.last に前日等の件数が記録されています。

  ・何かをリセットした場合、w_sys/err/、w_sys/sav/ 内にあるファイルは、
    無条件に全て削除して空の状態にして下さい。
    古いバージョンには err/、sav/ はありません。

■アクセス回数の初期値セット

  w_sys/ 配下のファイルは、FTP では .txt 以外も「テキスト(アスキー)」
  転送モードを使用して下さい。
  ffftp.exe、秀丸エディタ、@nifty サイトの組み合わせでは、自動判定でも
  改行削除や改行追加を行わなければ問題がないのですが、お使いの FTP ツー
  ルやサイトによっては、バイナリ転送されて改行コードが UNIX と Windows
  にうまく変換されません。
  動作があやしい場合は、w_sys/ 配下の FTP には、毎回手動でテキスト(アス
  キー)転送モードを指定して下さい。
  ダウンロードファイルを秀丸エディタで見る場合、改行コードが UNIX でも
  正常に見えてしまいます。Windows のメモ帳では UNIX 改行コードは化けて
  見えます。自信がない場合は、メモ帳での確認をお願いします。

  メモ帳で編集する場合、
  1) 普通に改行されて見えるとき、(Windows 形式の改行でローカルにある)
     → 修正後の FTP アップロードはアスキー形式
  2) 改行部分が■に化けて見えるとき、(UNIX 形式の改行でローカルにある)
     2-1) ■を壊さないように、そのまま数値だけを修正したなら、
          → 修正後の FTP アップロードはバイナリ形式
     2-2) ■を削除して、Windows の改行に修正したなら、
          → 修正後の FTP アップロードはアスキー形式
  として下さい。

  ・既存設置のカウンタ数などを移行する場合、次の通り作業下さい。

  ・00000000_w_s3ctup.dat ファイルをメモ帳などで作成します。
    最後の行の改行を忘れないようにお願いします。

〜〜 ↓ ここから ↓ 〜〜
45317
2001.06.09 01:16:00
〜〜 ↑ ここまで ↑ 〜〜

45317
|_ 累計アクセス回数

2001.06.09 01:16:00
|          |_ 修正した時間
|_ 修正した日

  ・00000000_w_s3ctup.dat.last ファイルをメモ帳などで作成します。
    最後の行の改行を忘れないようにお願いします。

〜〜 ↓ ここから ↓ 〜〜
519
12126
2843
45275
41454
2843
〜〜 ↑ ここまで ↑ 〜〜

519
|_ 前日カウンタ数

12126
|_ 前月カウンタ数

2843
|_ 前年カウンタ数

45275
|_ 前日末の累計アクセス回数

41454
|_ 前月末の累計アクセス回数

2843
|_ 前年末の累計アクセス回数

** 当日、当月、当年カウンタ数は、前?末の累計アクセス回数と累計アクセス
   回数の引き算で表示しています。

Q-【アクセスカウンタ】 カウントされない

■CGI は動作しているが、まったくカウントされない場合、次の点を確認して下
  さい。

  ・ファイアウォールでプライバシーブロックを有効にしている場合、一時的に
    解除して動作テストして下さい。

  ・w_sys フォルダのパーミッションを 777 にしてテストして下さい。

  ・HTML に組み込んだ w_s3ctup.cgi の URL が実際に呼べるものか確認して下
    さい。「読んでね.txt」に例として /cgi-bin/s3cnt/w_s3ctup.cgi と記載
    していますが、これはサイトトップがルート設定の場合のみ有効です。
    一般的には、HTML 毎に相対ロケーションで w_s3ctup.cgi への URL を指定
    するのは大変なので、http://????.???/sak/cgi-bin/s3cnt/w_s3ctup.cgi
    のように http:// から始まる絶対 URL で指定して下さい。
    こうすると、他の HTML へも単純にコピーで組み込めます。

Q-【アクセスカウンタ】 フレームトップの解析組み込み

■サイト構成がフレームページの場合、フレーム記述の index.html にアクセス
  解析コードを記述しても動作しません。
  フレームサイトの場合、メニュー(インデックス) などを表示している
  menu.html にアクセス解析コードを追加して下さい。
  (タイトルなどの title.html に組み込んでも問題ありません。)
  尚、menu.html に組み込んだ場合、サイトトップのページカウントファイルは、
  http~~~???.???~menu.html.dat のようになります。
  w_s3ctds.cgi の 172 行目付近にある整形表示部分は、トップページを次のよ
  うに設定します。

#// ページアクセス件数表示
  DspACnt('トップ'      , 'http~~~???.???~menu.html.dat');
  DspACnt('アクセス状況', 'http~~~???.???~cgi-bin~s3cnt~w_s3ctds.cgi.dat');

■リンク元解析については、フレームトップの index.html に対して動かしよう
  がありません。サーチエンジン等から単体のページが呼ばれた場合は問題ない
  のですが、直前の URL を参照しようがないのが現状です。
  尚、以前に 3 フレームのチャットをオープンしていた際は、フレーム内の
  3 ページにリンク元解析を入れていました。
  この場合、タイミングによっては、リンク元を記録する場合もありました。

Q-【アクセスカウンタ】 解析組み込みページで HTML エラー

■ホームページ作成ソフトをお使いの場合、組み込んだアクセス解析コードが
  変に改行されたりする可能性があります。
  「終了していない文字列型の定数です」と表示される場合は、document.write
  行が複数行に分割されているのが原因です。
  「読んでね.txt」の見本にあるように w_s3ctlk.cgi を含む document.write
  文は 1 行で記述して下さい。
  また、w_s3ctup.cgi 組み込み行での HTML エラーも同様におかしな箇所で改行
  されていないか確認して下さい。
  よくわからなければ、「読んでね.txt」の見本どおりに組み込んで下さい。

Q-【アクセスカウンタ】 HTML へのアクセス管理・解析の組み込み

■s3ct_e、s3ct_s では、ページカウントやリンク元の管理ができます。
  但し、必要な HTML へ組み込む作業はたいへんです。
  ついては、連続ソースリプレース(repsr200.lzh) repsrc.exe を使って簡単に
  全 HTML に追加する方法を説明します。

  ・</BODY> の前に必要なコードを一挙に追加します。
    次のようにリプレース定義を作成します。
    尚、URL は、ご自分の HP に合うように必ず修正してから実行して下さい。

  ・ホームページ URL を「http://homepage.com/hpurl/」、
    CGI URL を「http://homepage.cgi/cgiurl/」としたコード挿入原始定義は、
    次のようになります。
    cgi が http://homepage.com/hpurl/cgi-bin/ のマッピングですと、
    CGI URL 「http://homepage.cgi/cgiurl/」を
    「http://homepage.com/hpurl/cgi-bin/」のように修正して下さい。
    CGI がサポートされてないとサイトでは、CGI URL にも HP URL を指定して
    下さい。

↓ この原始リプレース定義を自分の HP にあうように URL 関係を修正

</BODY>
,
<SCRIPT LANGUAGE=javascript>_\n_
<!--_\n_
  var lnk = document.referrer;_\n_
  if (-1 == lnk.indexOf('http://homepage.com/hpurl/')) {_\n_
    if (-1 == lnk.indexOf('http://homepage.cgi/cgiurl/')) {_\n_
        if (lnk != '') document.write('<DIV style="HEIGHT: 0px; LEFT: -200px; POSITION: absolute; TOP: -200px; VISIBILITY: visible; WIDTH: 0px; Z-INDEX: 2"><IMG src="http://homepage.cgi/cgiurl/s3cnt/w_s3ctlk.cgi?lk=' + lnk + '"></DIV>');_\n_
    }_\n_
  }_\n_
//-->_\n_
</SCRIPT>_\n_
<DIV style="HEIGHT: 0px; LEFT: -200px; POSITION: absolute; TOP: -200px; VISIBILITY: visible; WIDTH: 0px; Z-INDEX: 1"><IMG src="http://homepage.cgi/cgiurl/s3cnt/w_s3ctup.cgi"></DIV>_\n_
</BODY>

↓ 1 行につなげて定義記述のできあがり

</BODY>,<SCRIPT LANGUAGE=javascript>_\n_<!--_\n_  var lnk = document.referrer;_\n_  if (-1 == lnk.indexOf('http://homepage.com/hpurl/')) {_\n_    if (-1 == lnk.indexOf('http://homepage.cgi/cgiurl/')) {_\n_        if (lnk != '') document.write('<DIV style="HEIGHT: 0px; LEFT: -200px; POSITION: absolute; TOP: -200px; VISIBILITY: visible; WIDTH: 0px; Z-INDEX: 2"><IMG src="http://homepage.cgi/cgiurl/s3cnt/w_s3ctlk.cgi?lk=' + lnk + '"></DIV>');_\n_    }_\n_  }_\n_//-->_\n_</SCRIPT>_\n_<DIV style="HEIGHT: 0px; LEFT: -200px; POSITION: absolute; TOP: -200px; VISIBILITY: visible; WIDTH: 0px; Z-INDEX: 1"><IMG src="http://homepage.cgi/cgiurl/s3cnt/w_s3ctup.cgi"></DIV>_\n_</BODY>

  ・CGI-Perl のソースは、ヒアドキュメントで </BODY> が 1 箇所だけなら、
    同じ定義で使えるかもしれませんが、作り方はまちまちであり、
    Perl ソースへの修正は手作業で行う方が良いです。
    HTML と同じようにリプレースするとエラーになる確率の方が高いです。
    また、Perl 作者がこの手の改編を認めていない場合もあります。
    SAK 提供の CGI-Perl については、この改編は、自分の責任において自由に
    実施して下さい。

  ・repsrc.exe の説明は、ダウンロードパッケージ中の「読んでね.txt」に
    あります。

■s3mb_e、s3mb_m、s3mb_s 系列の掲示板については、w_s3mbix.cgi、
  w_s3mbdw.cgi、w_s3mbfm.cgi の 3 つに入れます。

  $ctcgi   = '../s3cnt/w_s3ctup.cgi';
  $ctlcgi  = '../s3cnt/w_s3ctlk.cgi';

  ** $ctcgi   = '../s3cnt/w_s3ctup.cgi'; の定義は、標準で入ってますが、
     $ctlcgi はないので、その下に追加します。
       cgi-bin/
         s3cnt/
         s3mb/
     この配置なら、「../s3cnt/w_s3ct...」のままです。

<SCRIPT LANGUAGE=javascript>
<!--
  var lnk = document.referrer;
  if (-1 == lnk.indexOf('http://homepage.com/hpurl/')) {
    if (-1 == lnk.indexOf('http://homepage.cgi/cgiurl/')) {
        if (lnk != '') document.write('<DIV style="HEIGHT: 0px; LEFT: -200px; POSITION: absolute; TOP: -200px; VISIBILITY: visible; WIDTH: 0px; Z-INDEX: 2"><IMG src="$ctlcgi?lk=' + lnk + '"></DIV>');
    }
  }
//-->
</SCRIPT>
<DIV style="HEIGHT: 0px; LEFT: -200px; POSITION: absolute; TOP: -200px; VISIBILITY: visible; WIDTH: 0px; Z-INDEX: 1"><IMG src="$ctcgi"></DIV>

  ** URL 関係は、HTML に組み込むのと同じ理屈で修正して下さい。
  ** w_s3mbix.cgi は、一番最後の </BODY> の前に、
     w_s3mbdw.cgi、w_s3mbfm.cgi は </BODY> が 1 か所しかないので、検索し
     て、その前に入れます。
     コード内容は、.htm に入れるのと少し違います。
     SAK 提供の他の CGI-Perl に入れる場合も、この要領で入れます。

Q-【アクセスカウンタ】 一度アクセスした人を二度カウントするか

■s3ct_e、s3ct_s には、リロード対策機能があります。
  標準ですと、アクセスが 5 分以上途絶えたら、新たに来たとしてカウントし
  ます。逆に言えば、同じページをぼっーと 5 分以上見てたら、次のアクセス
  でカウントします。
  うちのアクセスログを解析した範囲では、2 分以上ぼっーとしてるアクセスは
  まずないです。5 分のセッションで十分だと思います。
  わかりやすく言うと、5 分以内にページを切り替えてる限り、何時間アクセス
  していてもセッションカウントは 1 のままです。

■お使いの環境の組み合わせによっては、二重カウント防止機能が働かない場合
  があります。私はインターネットセキュリティを導入してから、二重カウント
  防止機能が無効になりました。(ファイアウォール制限)
  また、IE4.01 の SP1 でも二重カウント防止機能が動作しないと報告を受けて
  います。大半のユーザは、うまく二重カウント防止機能が働きます。

Q-【アクセスカウンタ】 ページカウント数が 0 と表示される

■w_sys/ フォルダのパーミッションに書き込み権がない可能性があります。
  w_s3ctds.cgi の表示で、xxxx.xx.xx 以降と正しく日付が表示されている場合、
  ロケーション設定は間違っていないと思います。
  この場合、w_sys/ のパーミッションを 777 でテストしてみて下さい。
  (場合によっては、cgi-bin/ も 777 にする必要があるかもしれません。)

  ・777 で動作すれば、755, 666、644 が w_sys/ のパーミッション
    候補です。666 でいけそうに思います。
    できるだけ動作する範囲の低いパーミッションにした方が良いです。

■w_s3ctds.cgi の修正が実施されていないか、修正にミスがあります。
  尚、トップページがフレームの場合は、フレームの .htm をトップとして指定
  してもカウントされていないので 0 のままです。
  フレームの場合は、インデックスページか実トップページをトップとして指定
  します。

  DspACnt('トップ'      , 'http~~~homepage2.nifty.com~sak.dat');
  DspACnt('アクセス状況', 'http~~~hpcgi2.nifty.com~sak~s3cnt~w_s3ctds.cgi.dat');
           |               |_ ページアクセス回数を表示する url に
           |                  『.dat』を付加したものを指定します。
           |                  但し、『:』『/』は、『~』として定義し
           |                  て下さい。
           |                  【例】http://sak.cool.coocan.jp/
           |                  【→】http~~~homepage2.nifty.com~sak.dat
           |                  【例】http://sak.cool.coocan.jp/w_sak3/doc/public/sakprof.htm
           |                  【→】http~~~homepage2.nifty.com~sak~w_sak3~doc~public~sakprof.htm.dat
           |_ 表示用のページタイトルを定義します。
              以下、DspACnt() を必要なページ分追加します。
              この部分のみパスワードなしで表示されます。
              パスワードを指定しての呼び出しでは、全ページアクセス件数が
              ファイル名そのままで追加表示されます。

Q-【アクセスカウンタ】 FLASH のリンク元解析ができない

■FLASH によるリンクでは、アクセス元の解析ができません。
  どうも FLASH 内部で Location しているようで、有効な URL が引き取れない
  ようです。

Q-【アクセスカウンタ】 当日、前日等の繰越し仕様

■アクセスカウント数値やアクセスログの当日、前日などの繰越しは、0 時以降
  の最初の該当アクセスで行われます。
  また、ページカウントについては、各ページ単位に行われるで、0 時に一斉に
  繰越処理されるわけではありません。
  ページ繰越しは一斉に処理する方が綺麗なのですが、0 時近辺は CGI サーバ
  の負荷が極端に高く、全ページの繰越処理を行うとデッドロックが発生しやす
  くなります。

  ・独自に一斉に全ページを繰り越すようにしていただいてもかまいませんが、
    繰越中にもページカウントは加算されていきますので、0 リセットされたり、
    排他制御でデッドロックが起きないように工夫して下さい。
    また、0 時近辺は、CGI サーバのレスポンスが非常に悪いので、タイムアウ
    トなどの問題にも注意して下さい。

  ・当日、前日と同じ仕様で当月、前月、当年、前年も繰越処理しています。
    0 時に一斉に綺麗に繰越しされませんが、現実的なレンポンス仕様と言う
    ことで、ご理解下さい。

Q-【アクセスカウンタ】 ファイアウォールとの相性

■ファイアウォールによるプロックで、二重カウント防止機能が無効になったり、
  まったくカウントされない場合があります。
  全体的には支障が出ていませんが、特定のユーザにそういう事が起こります。
  設置者の環境にファイアウォールがある場合、テスト動作に問題が発生する
  可能性があります。

Q-【アクセスカウンタ】 初期設置時の同カウント列挙障害

■新規で、s3ct_e、s3ct_s を設置し、ページアクセス数の整形表示を定義すると、
  まだカウントされていないページアクセス数に、直前の数値がゴミとして列挙
  される場合があります。
  この場合、問題のページアクセスが実際に発生すると正しい数値になります。
  (s3ct_e、s3ct_s ver 3.24 では、全て対処済みです。)

  ・ver 3.23 以前で、プログラムとして対処するには、w_s3ctds.cgi を
    メモ帳などで開いて、一つ目の「#// アクセス回数参照」を検索、
    次のように修正して下さい。
    (「#// アクセス回数参照」は、2 箇所あります。)

sub DspACnt
{
  my($mds) = @_[0];
  my($ctf) = @_[1];

#// アクセス回数参照
  $ct  = 0;
  $err = 0;
  open(CNT, "$syslog/$ctf") or $err = 1;
  if ($err == 0) {
    $ct = <CNT>;
    $ltdt = <CNT>;
    chomp ($ctnow = <CNT>);
    chomp ($ctold = <CNT>);
    chomp ($ctmmnow = <CNT>);
    chomp ($ctmmold = <CNT>);
    close(CNT);
  }
  else {           # ← 行追加
    $ct = 0;       # ← 行追加
    $ltdt = '';    # ← 行追加
    $ctnow = 0;    # ← 行追加
    $ctold = 0;    # ← 行追加
    $ctmmnow = 0;  # ← 行追加
    $ctmmold = 0;  # ← 行追加
  }                # ← 行追加

  ・同じく、二つ目の「#// アクセス回数参照」を検索、次のように修正して
    下さい。

sub GetACnt
{
  my($ctf) = @_[0];

#// アクセス回数参照
  $svdt = $ltdt;
  $ct  = 0;
  $err = 0;
  open(CNT, "$syslog/$ctf") or $err = 1;
  if ($err == 0) {
    $ct = <CNT>;
    $ltdt = <CNT>;
    chomp ($ctnow = <CNT>);
    chomp ($ctold = <CNT>);
    chomp ($ctmmnow = <CNT>);
    chomp ($ctmmold = <CNT>);
    close(CNT);
  }
  else {           # ← 行追加
    $ct = 0;       # ← 行追加
    $ltdt = '';    # ← 行追加
    $ctnow = 0;    # ← 行追加
    $ctold = 0;    # ← 行追加
    $ctmmnow = 0;  # ← 行追加
    $ctmmold = 0;  # ← 行追加
  }                # ← 行追加

Q-【アクセスカウンタ】 000000 daily -????? とずれて表示される

■まれにアクセスカウンタ表示が「000000  daily -????? - ???」のように
  ずれて表示される場合があります。(画像カウンタでは 000000 となる。)

  ・まず、1 〜 2 度リロードして正常に表示されないか確認して下さい。
    更新と重なった単純なリードエラーの場合は、リロードで正常に表示
    されます。

  ・リロードしても正常な表示にならない場合は、00000000_w_s3ctup.dat の
    更新がおかしくなっています。
    お手数ですが、00000000_w_s3ctup.dat を手作業修正して下さい。
    尚、アクセスカウンタの最新版では、こういう更新異常が発生しにくいよう
    に対処しています。(絶対に発生しないとは言いきれないのですが。)

  ・また、ホームページ空間の容量限度に達していないか確認して下さい。
    @nifty の場合は、残り 1MB ぐらいで、実質残り 0 に限りなく近いです。
    ファイルラベル容量や最小アロケーションサイズが加味されていない場合が
    あります。

Q-【アクセスカウンタ】 画像カウンタで桁上がり時、表示がおかしくなる

■解析型カウンタ、シンプルカウンタ共にテキストカウンタ表示ではなく、
  画像カウンタ表示を使用している場合、桁上がり時の表示がおかくしなる場合
  があるようです。
  例えば、399 から 400 に変わるとき、上位桁の 3 を表示した後に 400 に
  データが更新され下位桁を 00 と表示して、結果 300 と表示されるような事象
  が発生します。
  実際のカウント値に問題はないのですが、特にシンプルカウンタの画像表示
  では更新と表示を同時に行っているので発生率が高いようです。
  解析型カウンタは更新を別の cgi で行っているので、いくらか発生率が低いの
  ですが、やはり、画像カウンタ表示では起こる可能性があります。
  もし、IFRAME による テキストカウンタ表示が可能なら、そちらの設定で利用
  して下さい。テキストカウンタ表示ではこのような問題は発生しません。

Q-【アクセスカウンタ】 ページカウントが 1 以上加算されない

■s3ct_e、s3ct_s ver 3.23 をお使いの場合、初期ページカウント後の加算が
  うまくできません。(ver 3.24 では、対処済み。)

  ・ver 3.23 で強化したカウント判定にバグがあります。
    w_s3ctup.cgi をメモ帳などで開いて、「#// ページアクセス回数加算」
    下の 162 行付近を次のように修正して下さい。

  if ($ct eq '' or $ctmmold eq '' or $ct < 1) {

                   ↓↓↓↓ $ctmmold を $dttmold に修正

  if ($ct eq '' or $dttmold eq '' or $ct < 1) {

Q-【アクセスカウンタ】 ログが整理されず常に累積される

■アクセスログやリンクログが指定整理日になっても繰越しされず、常に累積
  される場合、w_sys/ フォルダのパーミッションを 777 に変更してテストして
  下さい。

Q-【アクセスカウンタ】 リンクログが記録されない

■リンクログが記録されない場合、HTML への w_s3ctlk.cgi の組み込みに問題
  がないか確認して下さい。
  もし、w_s3ctlk.cgi の解析コードを 1 行にまとめて記述している場合、
  「読んでね.txt」のサンプルのように複数行に記述し直して下さい。
  w_s3ctlk.cgi の解析コードを 1 行にまとめると動作しません。

Q-【アクセスカウンタ】 Mac + IE5 で他スクリプト動作に問題が発生する

■アクセス解析コードを組み込んだ HTML ページを Mac + IE5 でブラウズすると、
  他の JAVA クライアントスクリプト等が動作しない場合があるようです。
  問題のページを Windows + IE6 でブラウズしても正常に動作します。
  特に凝ったスリクプトを使用しているページで発生する可能性があります。

  ・Windows + IE6 のブラウズで現象が発生しないため、Mac との相性か、
    凝ったスクリプトコードと干渉しているものと思われます。
    うちの SAK Streets トップ
    http://sak.cool.coocan.jp/
    でも問題が発生するか、ご確認下さい。
    うちのトップで問題が発生するようなら、対処のしようがありません。(^◇^;)

  ・現時点でこれと言った対処法が思い浮かばないのですが、アクセス解析
    コードの組み込み位置を <BODY>...</BODY> 間で、<BODY> の
    直後にしたり、</BODY> の直前にしたりしてみて下さい。

  ・これで解決したと言う事例がありましたら、ご報告願えると助かります。

Q-【アクセスカウンタ】 ネスケ4.7 ブックマークアクセスで IMG 残骸が表示される

■ネスケ4.7 のブックマークから、アクセス解析を組み込んだページをブラウズ
  すると、アクセス解析の IMG タグ残骸が表示されます。
  また、4.7 では、リンク等からのアクセスでも、たまに残骸が表示されます。
  このとき、JAVA クライアントスクリプト部分が飛んでおり、DIV タグが二重
  になっています。むちゃくちゃなソースに変換されているようです。(^^;
  この現象は、ネスケ6 でブックマークからアクセスしても発生しません。
  どうもネスケ4.7 あたりのバージョン固有の問題みたいです。
  アクセス解析のコードとネスケ4.7 のブックマークからのアクセスとの相性が
  非常に悪いようです。残念ながら、解決法がわかりません。

Q-【アクセスカウンタ】 複数ページカウントの合計表示方法

■s3ct_e、s3ct_s で、フォルダ単位やその他複数ページカウントの合計を
  整形表示するには、次のようにします。

  ・w_s3ctds.cgi の 「#// ページアクセス件数表示」にページ単体の
    整形表示は、
      DspACnt('タイトル', 'http~~~....htm.dat');
    のように指定しますが、複数ページの合計にする場合は、

 $addct = 0;
  foreach (@file) {
    if ($_ ne '.' and $_ ne '..' and index($_, 'http~~~homepage2.nifty.com~sak~w_sak3~doc~sysbrd~', 0) != -1) {
      $addct += GetACnt($_);
    }
  }
  DspAddC('SAK 開発言語資料'                 , $addct);

    のように記述します。
    この例では、http://sak.cool.coocan.jp/w_sak3/doc/sysbrd/ 内の
    全てのページカウントの合計を表示します。

  ・同じく、このページとこのページの合計と言う整形表示は、

  $addct = 0;
  $addct += GetACnt('http~~~homepage2.nifty.com~sak.dat');
  $addct += GetACnt('http~~~hpcgi2.nifty.com~sak.dat');
  $addct += GetACnt('http~~~hpcgi2.nifty.com~sak~.dat');
  $addct += GetACnt('http~~~hpcgi2.nifty.com~sak~index.cgi.dat');
  $addct += GetACnt('.dat');
  DspAddC('SAK トップ'                       , $addct);

    のように記述します。

Q-【アクセスカウンタ】 ログの URL に空、または、おかしな URL ものがある

■アクセスログ等の URL が空になるのは、ファイアウォール使用ユーザの
  プライバシプロックが原因と思われます。
  私も導入しているので、私がアクセスしても URL が空になります。
  ファイアウォールが現 URL や、直前の URL 情報をブロックしてしまうので
  URL 情報が引き取れません。
  この場合、「.dat」というページカウントファイルになります。
  「その他」か何かで「.dat」を表示するしかありません。

■ページカウントファイル名やリンクログの URL におかしなものが発生するのは、
  同じくファイアウォールか、ユーザの URL 入力ミスあたりが考えられます。
  後、複数ブラウザ画面を開いているユーザなどで、リンク元 URL が別の URL
  として飛んでくることもあります。

■セッション数は、ページビュー合計数とは一致しません。
  セッションカウントは基本的に接続単位を管理していますので、何ページ
  見ていても同じ人なら 1 です。
  ページカウントは、実表示回数なので、セッション数よりもページビュー
  合計数の方が多いのは正常です。

Q-【アクセスカウンタ】 セッションカウント繰越異常対策

■セッションカウントやページカウントは、新しいバージョンのものほど異常が
  発生しにくくなっています。
  アクセス数の多いサイトは、できるだけ最新版をご利用下さい。
  また、セッションカウントについては、w_s3ctup.cgi の $daymin を 10 に
  すると障害の発生を低減できます。
  うちは、$daymin  = 10; で運用を開始してから、カウンタのトラブルは発生
  していません。

-- w_s3ctup.cgi 26 line --
  $daymin  = 10;
              |_ 最小繰越しカウンタ数
                 2 は、3 件あれば繰り越す。
                 1 日 1 万件オーバのサイトでは、10 ぐらい指定すると良い。

■ホームページ容量の限界に到達した場合、カウントデータが書き込めず空にな
  ります。00000000_w_s3ctup.dat が 0 バイトになってしまうような場合、
  容量限度も忘れずに確認して下さい。
  必要なら、ホームページ容量を増やして下さい。
  @nifty では、表示される空き容量が 1MB を切ると、実際にはファイルラベル等
  で限りなく残容量ゼロに近くなっています。
  カウンタの機能としては、アクセスログ、リンクログを記録しないように設定
  できます。各設定によって、w_sys/ 内の次のファイルを削除して下さい。

  -- アクセスログ
    w_s3alog.txt
    w_s3alog.old
  -- リンクログ
    w_s3llog.txt
    w_s3llog.old

Q-【リダイレクトカウンタ】 ダウンロード名が CGI 名になる

■ダウンロードカウンタとして使用する場合、ダウンロードファイル名が CGI
  名になります。

Q-【リダイレクトカウンタ】 IIS、PWS でリダイレクトエラーになる

■IIS、PWS でリダイレクトするとエラーが発生します。
  他の公開 CGI は、IIS、PWS での動作を確認しているのですが、本 CGI は、
  現実的に IIS や PWS ではご使用になれません。
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 工房 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK