• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カウンターの数値が上がらないです・・・)

アクセスカウンターのカウントが上がらない!初心者です。

このQ&Aのポイント
  • アクセスカウンターを作成していますが、カウントが上がりません。
  • カウンターの数値は1と表示されていますが、増えません。
  • count.txtを確認しても、0となっており、書き込まれていないようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

カウント部分ではなく表示部分の問題なのかな? 申し訳ないのですが、あまり考える気力がありま せん。暑さの所為? 私は数字の画像を表示しているので、あまり格好 いいとは・・・要するに格好悪いコードですがアップ します。前もって数字画像を用意する必要があります。 関わっておいて申し訳ありませんが、これでお願い致 します。 $num = array(); $i = 0; while($dt>0){ $num[$i] = $dt % 10; $dt = $dt / 10; $dt = (int)$dt; $i++; } for($j=$i-1; $j>=0; $j--){ switch($num[$j]){ case 0: echo("<IMG src=\"images/n0.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 1: echo("<IMG src=\"images/n1.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 2: echo("<IMG src=\"images/n2.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 3: echo("<IMG src=\"images/n3.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 4: echo("<IMG src=\"images/n4.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 5: echo("<IMG src=\"images/n5.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 6: echo("<IMG src=\"images/n6.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 7: echo("<IMG src=\"images/n7.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 8: echo("<IMG src=\"images/n8.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; case 9: echo("<IMG src=\"images/n9.gif\" width=\"18\" height=\"18\" border=\"0\">"); break; } }

chopinthe3
質問者

お礼

再度の回答ありがとうございます! やってみたのですが・・・どうやらサーバー側でPHPのコマンドが拒否されているようです。 ほかのサーバーでやってみても同じでした。 やはり有料サービスのところじゃないとだめなんでしょうかね。 今回はご協力どうもありがとうございました!

その他の回答 (1)

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

ヘンですね。直ぐには分かりません。少しやりかたが 違う私のをアップしましょう。 細かくとも、ロックは必要と思います。 $fn = "counter.dat"; $fp = fopen($fn, "r+b"); flock($fp, LOCK_EX); $dt = fread($fp, 10); $dt++; fseek($fp, 0); fwrite($fp, $dt); flock($fp, LOCK_UN); fclose($fp);

chopinthe3
質問者

お礼

ご親切にどうもありがとうございます。m(__)m やってみたのですが、こんどは、何も表示されないのです。 <div align="center"><p>あなたは <?php echo $dt; ?> 人目のお客様です!</p></div> 表示部分はこうやってみたのですが・・・。”あなたは人目のお客様です!”と表示されてしまいます。ブラウザが悪いのでしょうか?IEですけれど・・・。PHPファイルは、index.html別のフォルダに入れてあり、datファイルもPHPファイルと同じフォルダに入れています。 もしよろしければまた教えてください。 http://s1.muryo-de.etowns.net/~yuki/ 一応PHPファイルの全容も入れます。よろしかったら見てください。(初心者なので間違いだらけかも知れません・・・) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_Jis"> <title>PHP入門</title> </head> <body> <div align="center"><font size="4">光明の練習ページへようこそ!</font></div> <br> <div align="center">今日は、<?php echo date("Y/m/d"); ?> です☆ </div> <?php $fp = fopen("count.txt", "r+"); $count = fgets($fp, 10); $count = $count + 1; fseek($fp, 0); fputs($fp, $count); fclose($fp); ?> <div align="center"><p>あなたは <?php echo $count; ?> 人目のお客様です。</p></div> <? $fn = "counter.dat"; $fp = fopen($fn, "r+b"); flock($fp, LOCK_EX); $dt = fread($fp, 10); $dt++; fseek($fp, 0); fwrite($fp, $dt); flock($fp, LOCK_UN); fclose($fp); ?> <div align="center"><p>あなたは <?php echo $dt; ?> 人目のお客様です!</p></div> <a href="../index.html">TOPへ戻る</a></body> </html> 上の”お客様です”が以前の方で、下の方が今回教えていただいたものです。 よろしくお願いします。m(__)m