PHPでカウンタを任意の位置に表示したい

このQ&Aのポイント
  • PHPで作ったカウンタを任意の位置に表示したいですが、うまく表示されません。
  • counter.phpファイルでカウンタの値を更新し、HTMLの任意の位置で表示させる方法について教えてください。
  • カウンタの値が表示されず、×マークが表示されてしまう問題の解決方法を教えてください。
回答を見る
  • ベストアンサー

PHPで作ったカウンタを任意の位置における

ようにしたいのですができません counter.php: <?php $data_file = './access.dat'; //データファイル $fp = fopen("$data_file", "r+"); $cnt_num=(string)(fgets($fp, 64)+1); fseek($fp,0); flock($fp,2); fwrite($fp,$cnt_num); fclose($fp); $cnt_num=sprintf("%06d",$cnt_num); $f_pass = './a_gif'; for($i=0;$i<strlen($cnt_num);$i++)$value[]=substr($cnt_num,$i,1); for($j=0;$j<count($value);$j++)echo "<img src=$f_pass/".$value[$j].".gif>"; ?> としてHTMLの任意位置で <img src="./counter.php"/> をおいたのですが×マークが出るだけでカウンタ値が表示されません どうしたらいいでしょうか

  • guuman
  • お礼率86% (1043/1206)
  • CGI
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
回答No.1

counter.phpで表示しているのは カウンターの数字画像を含めたHTMLなのですから <img src="counter.php">にしてはいけません。 この場合は、任意の位置に include("counter.php"); でいいんじゃないでしょうか?

その他の回答 (1)

回答No.2

#1です。 include("counter.php"); と書きましたが、 <?php include("counter.php"); ?> です。 省いて書くと勘違いされるかもしれないので・・・

guuman
質問者

補足

ありがとうございます <div><?php include("counter.php") ?></div> として動きました ただし index.html を index.phpに変更しなければなりませんでした htmlのままでphpを埋め込むことはできないのでしょうか?

関連するQ&A

  • PHPにてアクセスカウンターを作成してるのですが

    PHPを勉強しているのですが、以下のプログラムで画像アクセスカウンターを作成してるのですが、 <?php $date_now = date("Y/m/d"); $cookie = $date_now; setcookie("Cookie",$cookie); ?> <html><head></head><body> <?php $data_file = './access.dat'; $fp = fopen("$data_file", "r+"); $cnt_num = fgets($fp, 64); if($Cookie != $date_now){ $cnt_num++; fseek($fp, 0); flock($fp,2); fwrite($fp, $cnt_num); } fclose($fp); $f_pass = './a_gif'; for($i = 0; $i < strlen($cnt_num); $i++) $value[ ] = substr($cnt_num, $i , 1); for($j = 0; $j < count($value); $j++) echo "<img src=$f_pass/" . $value[$j] . ".gif>"; ?> </body> </html> うまく表示できません。 access.datに何か記述するのでしょうか? a_gifファイルに画像も入れてるのですがパーミッションなどを変更するのでしょうか? 作業環境はWindowsXPを使用してます。 サーバーはロリポップにて借りてます。 一応access.datのパーミッションは666に設定してます。

    • 締切済み
    • PHP
  • 二重カウント防止

    フリーのカウンタに2重カウントを防止出来るようにいろんなHP見て直したのですが、カウンタ自体動作しなくなりました。どこを直せばよいのでしょうか // 連続カウント防止(yes=1 no=0) $ip_check = 1; //------------ここまで---------- $fp = @fopen($log, "r+") or die($log."が開けません"); $count = fgets($fp, 64); //最大64バイトまで読み込む if(($ip_check == 1 && "$ip" != $_SERVER["REMOTE_ADDR"]) || $ip_check == 0){ $cnt++; $new_data = implode("<>", array($cnt,$_SERVER["REMOTE_ADDR"])); } fseek($fp, 0); //ファイルポインタを先頭に移す flock($fp, 2); //書き込みに対しロック fputs($fp, $count); //ファイルに書き込む fclose($fp); //ファイルをクローズ //桁数のフォーマット $cnt = sprintf(sprintf("%%0%dd", $fig), $count); //画像のサイズオプションを0.gifで取得 $size = getimagesize($path."0.gif"); //IMGタグを出力 for ($i=0; $i<strlen($cnt); $i++): //桁数分だけループ $n = substr($cnt, $i, 1); //左から一桁ずつ取得 echo "<IMG SRC=\"$path$n.gif\" alt=$n $size[3]>"; endfor;?>

    • 締切済み
    • PHP
  • PHP データの削除と個々の時間を書きだす

    PHPでプログラムを作成したいのですが、ninusyo.phpというphpプログラムからrireki.dataデータファイルを読み込みます。 //問題はここから。 ログインした個々の時間を書きだして、ログアウトボタンを押すとメールアドレスや名前などが消える。というプログラムが出来ません。 ヒントでも構いませんから、教えて頂けると嬉しいです。 以下、ソースです。なお、DBではありません。 <?php //受け渡しデータ //ml:メールアドレスのkey,メールアドレスは半角英数字24桁 //name:名前のkey,名前は半角英数字9桁 //pass(メールアドレスと同じ):パスワードのkey,半角英数字24桁 //mode:書き込みのkey, $modeとして使用。 // パラメータの取得 $ml=trim($_REQUEST['ml']); $name=trim($_REQUEST['name']); $pass=trim($_REQUEST['pass']); $mode=trim($_REQUEST['mode']); // データの入力 print '<form action="ninsyo.php" method="post">'; print ' 名    前 :<input type="text" size="10" name="name" value=" "><br>'; print '  パスワード :<input type="text" size="25" name="pass" value=" "><br>'; print 'メールアドレス:<input type="text" size="25" name="ml" value=" "><br>'; print'         <input type="submit" value="ログイン"><br>'; print'<input type="hidden" name="mode" value="write">'; print'</form>'; //終了 データの入力 //ファイルの追加 if($ml != null){ $fp=fopen("./rireki.data","at"); //$today = date("Y/m/d H:i:s"); fputs($fp,"\n".$ml.",".$name.",".$pass.",".$today); fclose($fp); } //終了 ファイルの追加 } //終了 エラー表示 // 削除データの入力 print '<form action="ninsyo.php" method="post">'; print '          <input type="text" size="10" name="sakujo">'; print '<input type="submit" value="名前deログアウト">'; print '<input type="hidden" name="mode" value="write">'; print '</form>'; // 終了 削除データの入力 // ファイルの読み込み $fp=fopen("./rireki.data","r"); while(!feof($fp)){ $tmp_a[]=mb_ereg_replace("\n","",fgets($fp)); }fclose($fp); $num_data=count($tmp_a); for($i=0;$i<$num_data;$i++){ $mail_a= explode(",", $tmp_a[$i]); for($j=0;$j<4;$j++){ $namae_a[$i][$j]=$mail_a[$j]; } } // 終了 ファイルの読み込み // データのソート select_sort // 削除データの削除 if($sakujo!=null){ for($i=0; $i<$num_data; $i++){ if($namae_a[$i][0]==$sakujo){ $namae_a[$i][0]=$namae_a[$num_data-1][0]; $namae_a[$i][1]=$namae_a[$num_data-1][1]; $namae_a[$i][2]=$namae_a[$num_data-1][2]; $namae_a[$num_data-1][0]=""; $namae_a[$num_data-1][1]=""; $namae_a[$num_data-1][2]=""; break; } } } // 終了 削除データの削除 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPカウンタのデータファイルのパスについて

    PHPカウンタのデータファイルをひとつ上の階層に置いて3つのページで共有したいのですが、 $fp="fopen("counter.dat"," "r+"); 上記パスを $fp="fopen("../counter.dat"," "r+"); このように記述するとエラーになってしまいます。 やり方が間違ってますでしょうか? 以下ソースです。 <?php $fp="fopen("counter.dat"," "r+"); $count=fgets($fp, 6); $count++; fseek($fp, 0); fputs($fp, $count); fclose($fp); ?><BR> <?php echo sprintf('%05d',$count); ?> 初心者の質問で申し訳ありませんが、 ご回答のほどよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPによるアクセスカウンタのサンプルの改造

    このサイトにあるアクセスカウンタのサンプルをお借りして、 http://www.web-jozu.com/php/counter_s.html 画像を使わず、よりシンプルなテキストカウンタを設置したいのですが、 上記ページにある、下記の記述の<img>タグを何とかすれば よさそうにも思いますが、どのように書き換えたらよいでしょうか? <script language="JavaScript" type="text/javascript"> <!-- //桁数を入力 posNum = 7; document.write('<img src="cts/counter_s.php?pos=0" width="0" height="0">'); for(i=posNum; i>0; i--){ document.write('<img src="cts/counter_s.php?pos=' + i + '">'); } --> </script> #念のため。サイトの利用規定に「Scriptの改造や再配布はご自由にしていただいて構いません」という断りを確認のうえで質問させていただきます。

    • ベストアンサー
    • PHP
  • C言語のビット演算をPHPでやりたいです。

    下記のようなC言語でのビット演算をPHPに 置き換えたいのですが、どうしてもうまくいきません。 どなたか教えていただけませんでしょうか? よろしくお願いいたします。 bitを左シフトしている箇所と - 0x30の箇所をPHPで どのように書いたら良いのかが困っています。 ★下記コードです。 Value[i]の中には適当な0から9までの整数が1桁ずつ配列で24個入っています。 例えばこんな感じです。 Array ( [0] => 1 [1] => 0 [2] => 1 [3] => 1 [4] => 2 [5] => 0 [6] => 0 [7] => 2 [8] => 1 [9] => 8 [10] => 2 [11] => 0 [12] => 0 [13] => 9 [14] => 1 [15] => 2 [16] => 1 [17] => 1 [18] => 4 [19] => 0 [20] => 1 [21] => 3 [22] => 1 [23] => 0 [24] => 4 ) for(i=0; i<=24; i++) { for(j=0,bit=1; j<8; j++,bit<<=1) { if(Value[i] & bit) { if((j%2)==1) { Cnt1 ++; } } } Cnt2 += (Value[i] - 0x30); } Ans = Cnt1 + Cnt2;

    • ベストアンサー
    • PHP
  • アクセスカウンタの、ダミー画像使用タグについて

    次のカウンタを使っています。 ページの説明にもあるdummy.gifを使って、 カウントはするけれどカウンタは表示されないようにしたいのです。 http://www.csmoon.com/prog/cnt/mcnt.html ↑こちらのカウンタ カウンタを表示する場合には動作・表示は正常に行われますが、 dummyに差し替えようとしても、画像が表示されません。(「×」ででてしまいます) dummy.gifも「数字.gif」と同じディレクトリにおさめているのですが、 <img src="mcnt.cgi?img=img/dummy"> では間違いなのでしょうか。 お教えください!

    • ベストアンサー
    • CGI
  • カウンターがまわりません…

    カウンターがまわりません… カウンターをHPに設置しようと思い、レンタルしました。 ソースを張り付けて表示までは出来たのですが、まわってくれません。 HPURLから行くと回らず、フォルダのhtmlドキュメントから確認すると回ります。 アップロードしているデータも最新のものなので、何が原因か分かりません… 以下がトップページのソースになります。 <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>タイトル</title> </head> <frameset cols="170,60,*" frameborder="0" border="0"> <frame src="sub.html" name="sub" scrolling="auto"> <frame src="menu.html" name="menu" scrolling="auto"> <frame src="first.html" name="main" scrolling="auto"> <noframes> <body> <div id="all"> <IMG src="icon4.gif"><script language="JavaScript" type="text/javascript" src="http://counter1.fc2.com/counter.php? id=5286200"></script><noscript><img src="http://counter1.fc2.com/counter_img.php?id=5286200"><br><strong><a href="http://rss.fc2.com/">RSSリーダー</a></strong></noscript><IMG src="icon4.gif"> <IMG src="icon.gif" align="left"> <h2>About To to444</h2> <h3></h3> <div class="txt"> コメント </div> フレームに対応したブラウザでご覧ください。 </body> </noframes> </frameset> </html> 記載漏れがございましたら追記致します。 お手数ですが、どなたかご指南頂けると幸いです!

  • アクセスカウンタの呼び出し方

    以下のような(アクセスカウンタ)をPerlで書きました #!c:/Perl/bin/Perl.exe print "Content-type:text/html\n\n"; &main; sub main {    my $ninzu,@Hninzu;    $ninzu=&yomikomi;    @Hninzu=&sujibunaki(@Hninzu,$ninzu);    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[8].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[7].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[6].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[5].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[4].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[3].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[2].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[1].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[0].".gif>"; } sub yomikomi {    my $ninzu;    open(RH,"<","count.txt") or die"ファイルが見つかりません";    $ninzu=<RH>;    close(RH);    open(WH,">","count.txt");    $ninzu++;    print WH"$ninzu";    return $ninzu; } sub sujibunaki {    my @Hninzu,$ninzu,$i;    @Hninzu=@_;    $ninzu=shift;    @Hninzu[8]=int $ninzu/100000000;    @Hninzu[7]=int $ninzu%100000000/10000000;    @Hninzu[6]=int $ninzu%100000000%10000000/1000000;    @Hninzu[5]=int $ninzu%100000000%10000000%1000000/100000;    @Hninzu[4]=int $ninzu%100000000%10000000%1000000%10000/10000;    @Hninzu[3]=int $ninzu%100000000%10000000%1000000%100000%10000/1000;    @Hninzu[2]=int $ninzu%100000000%10000000%1000000%100000%10000%1000/100;    @Hninzu[1]=int $ninzu%100000000%10000000%1000000%100000%10000%1000%100/10;    @Hninzu[0]=int $ninzu%100000000%10000000%1000000%100000%10000%1000%100%10;;    return @Hninzu; } これを別のファイル(.html)からこのファイル(.plに)表示される画像 (カウンタ画像)だけを呼び出して.htmlに表示したいんですけど、 どうすればよろしいですか? でしょうか?

  • phpでform画面を作るには

    phpの勉強を始め、 forとifだけでform画面を作ってみようと思いました。 配列でパスワードとユーザーの画像を用意して処理しようとしたのですが。 正しいパスを打ち込んでも「パスが違います」と3回表示されます。 どこがちがうのでしょうか...初心者なので正しいコードを教えて頂ければ幸いです。 $passArray[0] = "123"; $passArray[1] = "abc"; $passArray[2] = "xyz"; $passArray[0] = "<img src='img/user.png'>"; $passArray[1] = "<img src='img/user.png'>"; $passArray[2] = "<img src='img/user.png'>"; for($i=0;$i<3;$i++) { if($_POST["pass"] == $passArray[$i]) { print"<h2>ようこそ".$_POST["uName"]."様</h2>"; } else { print"パスが違います"; } } <form method="POST" action="test.php"> <h2>名前:</h2> <input type="text" name="uName" placeholder="ユーザー名"> <h2>パスワード:</h2> <input type="password" name="pass" placeholder="パスワード"> <h2>コメント:</h2> <input type="submit" value="送信" id="sub"> </form>

    • 締切済み
    • PHP

専門家に質問してみよう