- ベストアンサー
アクセスカウンターのカウントが上がらない!初心者です。
- アクセスカウンターを作成していますが、カウントが上がりません。
- カウンターの数値は1と表示されていますが、増えません。
- count.txtを確認しても、0となっており、書き込まれていないようです。
- みんなの回答 (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; } }
その他の回答 (1)
- Tasuke22
- ベストアンサー率33% (1799/5383)
ヘンですね。直ぐには分かりません。少しやりかたが 違う私のをアップしましょう。 細かくとも、ロックは必要と思います。 $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);
お礼
ご親切にどうもありがとうございます。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
お礼
再度の回答ありがとうございます! やってみたのですが・・・どうやらサーバー側でPHPのコマンドが拒否されているようです。 ほかのサーバーでやってみても同じでした。 やはり有料サービスのところじゃないとだめなんでしょうかね。 今回はご協力どうもありがとうございました!