アクセスカウンター機能のCGIでカウントダウンは出来るのでしょうか?
例えば最初に5000と設定しておいて4999・4998・4997…と減っていき最終的に0になると「おめでとうございます~」みたいな感じで。
普通のカウンターで良いのでは?と言われればそれまでなのですが、敢えてお聞きします。何か良い案があればお教え下さい。

A 回答 (2件)

http://www.paso2.net/~bird-city/cgi/
http://www.campus.ne.jp/~marron/
などにカウントダウンカウンターというものが公開されています。
0になったら特別なページにする事も可能なようですよ。
    • good
    • 0
この回答へのお礼

ありがとうございます
早速見てきますね!

お礼日時:2002/01/06 18:56

普通のカウンターに


$cnt++;
とか
$cnt += 1;
というのがあると思うのでそれを
$cnt--;
にするとか。

コメントを表示するのは、IMGタグを使って表示するタイプでは無理だと思います。
SSIを使ってHTMLで表示するタイプのカウンターであれば、
print $cnt;
とかの部分を
if($cnt == 0){
print "おめでとう";
}
else{
print $cnt;
}
にすればできますよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
もう少し勉強すれば分かる事でしたね(汗)
本当にありがとうございました

お礼日時:2002/01/06 18:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qcgiカウンターが動かないとき

アクセスカウンターを設置しています。
機種別カウンターでauのみが動きません。
何が原因でしょうか?

Aベストアンサー

auの人が来てないんじゃないでしょうか?

これだけではこんな回答しか出来ませんので
・どこにカウンターを設置しているのか?
・CGIはどこのものか?(フリー、プロパイダ提供など)
を教えてください。

QCGI・Perlでアクセスカウンターを作りたい

テキストのカウンターでいいのですが、
条件にあうプログラムが見つけられません。

(条件)
・複数ページのカウントを
・ひとつのページにまとめて表示したい
・表示にはできればSSIを使いたい

カウントをつける必要があるページは、120ページほどになります。
各ページに対してひとつずつplを作るというのはあまりにサーバー、作業者にとって負担になるので、どなたかよい方法を教えてください。

Aベストアンサー

こんばんは、しろうとのたわ言です。
120ページの各々について、アクセスがあったらカウンタを回して、
カウンタ一括表示ページで変化が一目瞭然わかるようにしたい、
ってことなんですかね。
映画にでてくるようなカジノの支配人の部屋の壁に、監視カメラの画像がうわ~っと並んでいるイメージが連想されますが。

結局、ページにアクセスが発生するたびにカウンタを回す処理をサーバーにさせなくてはならないのでしょう?
その考え/処理自体がそもそも「サーバーに負担」をかけてますよね?
CGIを工夫したらそこの処理が軽くなる、という風には‥‥ならんのではないでしょうか??

必要なページにカウントのCGIだけはつける。
120個の異なる名前のカウントデータを作らせる。
そいでもって、支配人ページで120個のカウンタを一望の下に管理する。
それしか無さそうな気がしますけど。すいません、芸が無くて。

QCGIでCGIを呼び出す方法

いつもお世話になっています。

今掲示板のCGI(a.cgi)上に広告をランダムで表示するCGI(b.cgi)を記述しているのですがどうにも正しく表示されず困ってます…

他のCGIを呼び出すにはどのように記述すればいいのでしょうか?

(htmlでいうとSSIで呼び出すように…)

Aベストアンサー

掲示板で表示するなかにscriptタグを使ってcgiを呼び出すのどうでしょう。
現在閲覧中の人をカウントするcgiなどを見てみると
そうしてます。(閲覧中でも定期的に内容を書き換えてるので
広告を表示するのにも適してるのではないかと)

Qcgiからcgiを呼び出す方法2

先日「cgiからcgiを呼び出す方法」で質問させていただいたのですが、
その後の状況にて新たな質問をさせていただきます。

【経緯】
もともと単体で動作していたcgi Aに対して新たにcgi Bを作成し、
cgi Bからcgi Aを呼び出したいのですが、うまくいきません。
 cgi A:アンケート回答フォームのようなもの
 cgi B:認証フォーム(コードを入力してDB内のデータと一致したらcgi Aを呼び出したい)

【その後の状況】
exec("perl A.cgi");
とすることで cgi A の画面を表示することが出来ました。

【新たな質問】
(1) cgi A の画面は表示されましたが title は cgi B のままです。
 exec で cgi A が呼び出された時点で title は cgi A にならないのでしょうか?
(2)いろいろなサイトに、呼び出し先に
 "Content-Type: text/html; charset=Shift_JIS\n\n"
 の記述があってはダメとの説明がありましたが、この記述がないと
 cgi Aにてデータを入力し、送信ボタンを押すと
 500 Internal Server Error(malformed header from script. Bad header~)
 が表示されてしまいます。
 Content-Type の記述があれば、cgi A の送信ボタンを押すことによって
 入力したデータがDBに格納され、また、title も cgi A のタイトルが表示されます。

【cgi A が呼び出された時点の画面イメージ】
 cgi B のタイトル
 Content-Type: text/html; charset=Shift_JIS
 cgi A のタイトル
  cgi A の入力項目
  cgi A の送信ボタン

cgi A の送信ボタン(submit)を押すことによって、完全に cgi Aに制御が渡るということでしょうか?
cgi A を呼び出した時点で完全に cgi A に制御を渡したいのですが、
どなたかアドバイスをお願いします。
cgi A の構成を変える必要があるようであれば、その当たりのアドバイスもお願いします。

先日「cgiからcgiを呼び出す方法」で質問させていただいたのですが、
その後の状況にて新たな質問をさせていただきます。

【経緯】
もともと単体で動作していたcgi Aに対して新たにcgi Bを作成し、
cgi Bからcgi Aを呼び出したいのですが、うまくいきません。
 cgi A:アンケート回答フォームのようなもの
 cgi B:認証フォーム(コードを入力してDB内のデータと一致したらcgi Aを呼び出したい)

【その後の状況】
exec("perl A.cgi");
とすることで cgi A の画面を表示することが出来ました。

【新たな質問...続きを読む

Aベストアンサー

横から失礼します。

一度認証して、LocationでちがうCGIを呼び出すのは 認証した意味がなくなると思うのですが・・
というのも、認証しないでいきなりCGI-Aを呼び出したらどうなります?
認証するということは、一度の処理ですべてを行わないと意味がなくなります。

なので、AとかBとかに分けないで1つにするのが初心者向けですよー
もうちょっと理解が深まれば、CGI-Aをrequireして1つのCGIとしてあつかえることができます。

さらに簡単にするのなら、1つのCGI内でサブルーチンにして分けて処理を行う方向性が後々の変更のため
そして、コード量を減らすことや なによりエラーをなくすためにはいい方法です。
例)
認証サブルーチン、DB問い合わせサブルーチン、アンケートフォームサブルーチン、アンケート受け取りサブルーチンetc


そしてこれらを1つのCGIで処理するページングを行いたいのであれば、引数としてURLに含めるのが一般的です。
例)
xxx/B.cgi?que=form (認証して入力用のアンケートフォームを表示するなど)
xxx/B.cgi?que=input (認証してアンケートフォーム入力値を受け取り結果を表示するなど)

上記のように常に認証しないと、意味がなくなります。


それと、system関数やexec関数は同じプログラム言語を使うならお勧めできません。
環境によっては使えないことも多々ありますし、なによりコスト(サーバ負荷)とリスク(トンネル)が高いです。
この辺はもう少し言語に対する理解が深まってから手を出すべきです。(初心者に勧めるべきことではありませんよね)

横槍のようで何なんですけど、なんだか変な方向に行きそうなので、口を出してしまいました。

横から失礼します。

一度認証して、LocationでちがうCGIを呼び出すのは 認証した意味がなくなると思うのですが・・
というのも、認証しないでいきなりCGI-Aを呼び出したらどうなります?
認証するということは、一度の処理ですべてを行わないと意味がなくなります。

なので、AとかBとかに分けないで1つにするのが初心者向けですよー
もうちょっと理解が深まれば、CGI-Aをrequireして1つのCGIとしてあつかえることができます。

さらに簡単にするのなら、1つのCGI内でサブルーチンにして分...続きを読む

QCGI1からCGI2への変数の受け渡しと表示

他のご質問読んでもわからなくて笑
CGIの知識は、書いてあるとおりに設定を変えたりhtmlとか書き出すところの内容変えたり…いらないところに#を付けて、うごくかなぁってドキドキしている程度です(笑)わかりにく。

今回は、まず、キリ番のCGI-Aがあります。そのCGI-Aはキリ番GETしたら登録formが出てきます。登録があったらメールが管理人宛てにくるんです、その時、変数で、フォームで書いてもらった内容+その人の取ったカウント数・時間・エージェント・HOSTが、一緒に記載されてきます。
CGIではこんな感じ↓

print MAIL "時間 : $adate\n";
print MAIL "ホスト: $ahost\n";
print MAIL "使用PC: $kuag\n";
print MAIL "名前 : $aname\n";
print MAIL "カウント : $acount\n";
print MAIL "メール: $email\n";

ってちゃんと送られてきます。
で、この変数なんですが、同ディレクトリにあるメールフォームのCGI-Bに渡して(CGI-Aで登録したら必ずCGI-Bにくると)、CGI-Bが送るメールにも乗せたいのです。CGI-Bのなかのメールの雛型?の部分に
ここです↓
#メール内容
$body.="取得時間 : $adate\n";
$body.="ホスト : $ahost\n";
$body.="使用PC : $auag\n";
$body.="メール : $email\n";
$body.="内容 : $nowdate\n";

内容ってのはCGI-Bのメールフォームに書いてもらったことを表示します。でその上の4つなんですが、それがCGI-Aの変数で、これをCGI-Bのメールに一緒に送らせたいわけです。

そこで、CGI-Aの変数をCGI-Bに持ってくるにはどうするか、素人なりに考えて

#キリ番からの情報取得
require "./CGI-A.cgi";
とか考えて書いてみて、やったんですが、見事に失敗しました。どうすれば変数だけをわたせますか?教えてください。
不適切な表現とかありましたら勘弁してください。
補足など、待ってます。

他のご質問読んでもわからなくて笑
CGIの知識は、書いてあるとおりに設定を変えたりhtmlとか書き出すところの内容変えたり…いらないところに#を付けて、うごくかなぁってドキドキしている程度です(笑)わかりにく。

今回は、まず、キリ番のCGI-Aがあります。そのCGI-Aはキリ番GETしたら登録formが出てきます。登録があったらメールが管理人宛てにくるんです、その時、変数で、フォームで書いてもらった内容+その人の取ったカウント数・時間・エージェント・HOSTが、一緒に記載されてきます。
CGIではこんな...続きを読む

Aベストアンサー

#2です
>ごめんなさい・・・わかるようでまったくわかりません(笑)
のようですので、ピンとくるところがなかったようですね。
それにプログラムの修正個所を完全に書いた訳ではないでの
コピペしても全く動かないです。

で、別の方法です。
質問者さんのしたいことは、
 従来のcgi-aの処理のあと(メールを送った後)
 cgi-bでやっているメール送信も行いたい。
ですよね。

cgi-bの中で、実際にメールを送っている処理部分はどこか解りますか?
その部分をcgi-aに継ぎ足すのはどうでしょう。
当然、送る内容は変数から作っていますから
これにcgi-aの変数をコピーするなり、新たに値を設定してください。
 すなわち
 $body.="取得時間 : $adate\n";
 $body.="ホスト : $ahost\n";
 $body.="使用PC : $auag\n";
 $body.="メール : $email\n";
 $body.="内容 : $nowdate\n";
 の、$adateや、$ahostなどの変数のこと。

cgi-aに継ぎ足す際に、メールを送る処理以外を含めると
正しく動作しない可能性が高いです。
ですから、「この1行は何をしている?」がある程度
理解できないとやっぱり難しいです。

#2です
>ごめんなさい・・・わかるようでまったくわかりません(笑)
のようですので、ピンとくるところがなかったようですね。
それにプログラムの修正個所を完全に書いた訳ではないでの
コピペしても全く動かないです。

で、別の方法です。
質問者さんのしたいことは、
 従来のcgi-aの処理のあと(メールを送った後)
 cgi-bでやっているメール送信も行いたい。
ですよね。

cgi-bの中で、実際にメールを送っている処理部分はどこか解りますか?
その部分をcgi-aに継ぎ足すのはどうでしょう。
...続きを読む


おすすめ情報