ネットにあった、ハイスコアランキングのサンプルをダウンロードして、サーバーにアップロードしてみたのですが、おもうように表示されません。
CGIは機能しているようなのですが、ランキング一位の人のスコアだけが表示されないのです.
一位の人が二位になると、二位のスコアは表示されるようになるのですが、あらたに一位の人のスコアが表示されなくなります。
バーミッションはcgi755、dat666にしてありますし、アスキー転送で改行はLFにしてあります。一位のスコアの表示以外の点では正常に作動してるので、どこがおかしいかわからないのです。
ダウンロードしたものを手を加えずにそのままアップロードしましたので、CGIの文法やフラッシュのスクリプトが間違っているということはないと思います。(他の人は同じサンプルファイルでうまく表示されてるようなので)
cgi設置も初めてなので、何か見逃しているのかもしれません。
原因かわからなくなってしまいました。誰か助けてください。
サーバーにアップロードしたページです↓
http://mokat.hp.infoseek.co.jp/cgi-bin/hiscsampl …
No.3ベストアンサー
- 回答日時:
CGIに直接アクセスしてみました。
http://mokat.hp.infoseek.co.jp/cgi-bin/hisc.cgi
自動挿入の広告タグがじゃまをしているようです。
CGIのスクリプトを
#----- データをFlashへ送る
print "Content-type: text/plain\n\n";
print "dummy=dummy&";
for ($i = 0; $i < 10; $i++) {
($sc, $pname) = split(/,/,$sortdata[$i]);
print("score$i=$sc&name$i=$pname&");
}
というふうにダミーのデータを入れたらどうでしょう。
すごい!!!
でました。ダミーのデータを入れたらちゃんと動いてます!!
感動です!
意味はわかってないのですが、なぜこの文字を入れるだけで動くようになるのでしょう・・
ありがとうございました!
ずっとできなかったので嬉しくてたまりません・・
本当にありがとうございます!
No.2
- 回答日時:
ちょっと今は寝る前なので詳しくは検証できませんが、
chop(@sortdata);
この箇所が気になりますね。
これは
chomp(@sortdata);
で良いと思います。
ただこの箇所が原因がどうかはわかりませんが。
明日検証してみます。
No.1
- 回答日時:
そのデータの中にはちゃんと一位の人のスコアが書かれていますか?
書かれていればCGIの問題の可能性があります。
書かれていなければFLASHのスクリプトの問題の可能性があります。
いずれにせよファイルに正常にデータが書かれているか確認してみて下さい。
この回答への補足
今、DATファイルをダウンロードして見てみました。一位の人のデータは9999999999999999に上書きされてて、ちゃんと書かれていました。
cgiはダウンロードしたそのままなので、これであってると思います。↓
#!/usr/local/bin/perl
#----- ランキングデータファイル
$logfile = "./hisc.dat";
#----- データの値の読み込み
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
if ($ENV{'REQUEST_METHOD'} eq "GET") {
$buffer = $ENV{'QUERY_STRING'};
}
@getlist = split(/&/,$buffer);
foreach(@getlist) {
($key,$value) = split(/=/,$_);
$getdata{"$key"} = $value;
}
#----- ランキングファイルの読み込み
open(IN, "$logfile");
@sortdata = <IN>;
chop(@sortdata);
close(IN);
#----- データの追加
if ($getdata{'score'} ne "") {
$data = "$getdata{'score'}\,$getdata{'playername'}";
push(@sortdata, $data);
}
#----- データのソート
@sortdata = sort{(split(/\,/,$b))[0] <=> (split(/\,/,$a))[0]} @sortdata;
#----- データをFlashへ送る
print "Content-type: text/plain\n\n";
for ($i = 0; $i < 10; $i++) {
($sc, $pname) = split(/,/,$sortdata[$i]);
print("score$i=$sc&name$i=$pname&");
}
#----- データの書き換え
if ($getdata{'score'} ne "") {
open(OUT, ">$logfile");
for ($i = 0; $i < 10; $i++) {
print OUT "$sortdata[$i]\n";
}
close(OUT);
}
exit;
はじめにサンプルファイルをアップした時には、数字をいじったので、そのデータがどこかに残っているのかもしれません。
そのいじったファイルはすべて捨てて今はデフォルトの状態でアップしなおしたのですが・・
ブラウザのキャッシュもクリアしました・・
何度サンプルファイルをサイトからダウンロードしなおしてアップロードしなおしても、一位の人のスコアだけ表示されないという悪循環がくりかえされます・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- ドメイン・サーバー・クラウドサービス 自作サイトをサーバーにアップロードしたのですが… 2 2022/11/08 18:12
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) robots.txtが”allow”のサイトを探しています 2 2022/10/09 13:07
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
ホームページでCGIのフォームを...
-
apacheでPerl CGIが作動せず、5...
-
めちゃきれい
-
フォームを再送信しますか?
-
/bin/awk '{print $5}'ってどう...
-
入力フォーム(電話番号)
-
インターネット閲覧履歴の訪問...
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
めちゃきれい
-
フォームを再送信しますか?
-
number 改行が追加できない
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
perlで書いたcgiでsqliteの使い...
-
生成AI画像について
-
POSTメソッドの最大容量について
-
(フリーの)ツリー掲示版CGI、...
-
htmlからパラメータで、cgiに渡...
-
ラズパイでのCGIで、pythonソー...
-
入力フォーム(電話番号)
-
CGIが読み書きするデータファイ...
-
CGIの設置が分かりません・・・
-
CGIって何ですか?簡潔に教えて...
-
/bin/awk '{print $5}'ってどう...
-
CGIの記述について教えてくださ...
-
ホームページの事でおしえてく...
-
CGIで出力するhtmlの<!DOCTYPE ...
おすすめ情報