Aというページに設置した閲覧カウンターのカウント数値を
Bというページ(こちらの閲覧者はカウントしない)に表示させて「現在Aのページを見ている人は●●人います」といった仕様のオンラインカウンターがほしかったので
http://cgiscriptmarket.com/
で配布されている「Real_Time2 v.2.00 」をカスタマイズしてみたのですが
どうしてもうまく出来ないところがあるので質問させていただきます。
Aページ用のカウントするファイル(本体real_time.cgi)と、Bページ用のカウント数を表示するファイル(本体を改造したものreal_time2.cgi)を用意して
real_time2.cgiのほうを見てもカウントをログファイルに追加せずにAページの閲覧数を表示することに成功したのですが
ログファイルにカウント数の記録が何もない状態なのに、なぜか1と表示されてしまいます。
ほかの閲覧カウンターCGIやPHPも同様のように改造してみると、閲覧カウントされてないはずなのに「1人閲覧中」と表示されてしまいます。
Aページを誰も見ていない状態(カウントログファイルには何も書き込まれていない状態)では「0人閲覧中(もしくは誰も見ていません)」という表示にするにはどうしたらいいでしょうか?
いろいろ調べてみたのですが、さっぱりわからずお手上げ状態なので質問させいただきました。
よろしくおねがいいたしますm(_ _)m
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
76行目付近より
push(@date,"$now,$addr\n");
$count = @date;
@date配列にログとして出力される予定のものが追加されています。
($now,$addrともにコメントアウトにより未定義)
その次の文で$countに@date配列の個数を代入しています。
ここで、カウントアップに当たる処理が行われています。
ついでに言うと、@date配列はどこかで定義されることも無く、(@dataならありますが)
76行目付近で突然現れ、要素が一つだけ入ったかと思えば以降増減は無く、
このCGIの中では配列の個数が常に1個のまま処理が行われます。
この個数で画像を出力してるわけですから、
誰もアクセスしていなくても全人類がアクセスしても「1人閲覧中」でしょう。
上で指摘した2行を
$count = @data;
にしてみてください。
ありがとうございます!ちゃんと意図したとおりに動作しました!
丁寧な解説までつけていただいてわかりやすかったです、本当ありがとうございましたm(_ _)m
ですが今度は別の問題が…
誰も閲覧していないにもかかわらずログファイルが空にならなくて
それが原因で常に1人閲覧中と表示されてしまうように…
原因はカウントするほうの本体スクリプトにアクセスがあったかどうかでログファイルの書き込み・該当アクセスデータの削除が行われるらしく
当然アクセスがない状態の場合ログファイルを空にする動作もないようで…
閲覧数のみを表示する改造したほうのCGIに
「一定時間ログファイルが更新されない状態(タイムスタンプに更新がない場合)はログファイルを空にする」
みたいな機能をつけることは可能でしょうか…?
もし可能でしたらヒントややり方など教えていただけませんでしょうか、何度も申し訳ございませんm(_ _;)m
自分でも探してみます、わかったら補足として書き込みます。
No.1
- 回答日時:
ログファイル読み込み
カウントアップ
画面出力
ログファイル書き込み
といった流れが元のCGIで使われているのではないかと推測いたしました。
出力の所でさりげなく+1されてるだけかもしれませんので、
よくみてカウントアップの処理を消してあげてみてください。
この回答への補足
わかりやすい説明ありがとうございますm(_ _)m
なのですが、カウントアップ・出力の処理がどこなのか画面とにらめっこしてみたりしても全然わかりません…
ttp://yappari.mukade.jp/real_time2.txt
こちらがカウント数のみを表示する方のスクリプトなんですが、よければどの場所を消せば意図したとおりになるのか教えていただけませんでしょうか…?
「設定部ここまで」から下の#でコメントアウトしてある部分が一応自分で消してみた部分です。間違っているところもあったら教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Chrome(クローム) PCの Google Chrome が頻繁に「ページが応答していません」となり作業が進みません。 1 2023/05/25 20:43
- Chrome(クローム) Chromeのアドレスバーに履歴等を表示させないようにしたい 2 2022/09/08 14:20
- PDF PDF閲覧で 各ページの特定部分だけを表示する方法はありますか? 例えば 右下のページだけを確認した 2 2023/02/27 16:01
- 教えて!goo ベストアンサー表示なのに回答受付中 4 2023/06/17 18:48
- その他(プログラミング・Web制作) ワードプレスのプラグインであるAddQuicktagを使いたいが… 3 2022/04/18 15:03
- 教えて!goo Yahooアプリって不具合多すぎるのでは? 1 2023/01/28 01:47
- ライフスタイル・ヘルスケア URLを開くアプリが見つかりません 2 2022/09/16 12:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
apacheでPerl CGIが作動せず、5...
-
サイト訪問者の情報を取得したい
-
CGIについてです。教えて下さい...
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
3DCG
-
CGIでラジオボタンの選択結果を...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
ホームページでCGIのフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自動人数カウンターってありま...
-
HPで「あなたは何人目です」...
-
シェルのSTEP数について教えて...
-
分周回路について
-
ホームページのカウントについて
-
アクセスカウンターの作り方
-
クリック数を1日ごとにカウン...
-
バーコードのカウンター探して...
-
アクセスカウンターとキリ番
-
アクセスカウンタの2重カウン...
-
非同期カウンタの設計
-
PHPで高機能アクセスカウンタを...
-
シーケンス制御のラダープログ...
-
HPのアクセス数のカウント回数...
-
三菱GXDeveloper 条件分岐
-
カウンターは…
-
アクセスカウンタ、途中からカ...
-
カウンターが回らない
-
カウンターが重い
-
HP作成におき、カウンターを置...
おすすめ情報