カウンター(php)php事始め
home > elec > Cnt

 htmlを用いてホームページを何とか作れるようになりました。カウンターとメールフォームはhtmlとフリーのcgiプログラムを使って何とか格好を付けてそのまま今になってしまいました。
 phpとjavascriptを使って自分でもなんとかなる事が分りましたのでカウンターとメールフォームに挑戦しました。
 phpから始めて見ることにしました。しかしやって見るとjavascriptは一著にと使わないといけない場面に遭遇しました。scriptはいまのところおいしいとこ取りしかしていませんが、phpだけでも何とかものにとの思いから、まずはphpから始めたいと思います。

≫ php1 - xampp

 まずはカウンターからと行きたいとこですが、phpが動くサーバーが必要です。
 教科書や参考書がないので先生はもっぱらネットということになります。サンプルプログラムをコピペしたり、かたっぱしから解説文を読んでみました。少し分かってきたのは、仮想のプロバイダーをPCの中で作ってやらないとPCの中ではPHPはうごきません。
 でたどり着いたのはXAMPP(仮想サーバー)というソフトを使いなさい。
 ということでした。
 早速ここからダウンロードしてインストール、ここで使い方を教えてもらって試すことが出来るようになりました。
 まずXAMPPを立ち上げると下のようなコントロールパネルが現れます。
 phpを動かすには、apacheを有効にします。apacheのスタートボタンを押すと何事もなければ、下のようにブルーになります。
 何かあればブルーにならずに下の欄に赤字で悪いところを示してくれます。これらを修正するにはこちらを参照するなどして、必要箇所を修正します。私の場合はポート番号が幾つか重複するところがあり、修正しました。これらは結構な時間を使いました。

 まずXAMPPを正常に立ち上げ出来るようします。同時に下記のようなプログラムwatchcnt.phpを作って、下図のようにプログラムを配置します。青色が新しく作ったフォルダーとファイルです。
 xamppの下にhtdocsというフォルダーがあります。この下に新しくtryphpと云うフォルダーを作り、その中に下記のwatchcnt.phpを埋め込みます。
 そして0を書き込んだcnt01.txtというファイルを入れます。
 これで準備が出来ました。
 xamppコントロールパネルを立ち上げ、apacheのスタートボタンを押し、apacheの部分がブルーになったら、お試し準備完了です。
watchcnt.php
1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
11|
12|
13|
14|
15|
16|
17|
18|
19|
20|
21|
22|
23|
24|
25|
26|
27|
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<title>php-お試しcounter</title>
</head>
<body>
本文はここだよ!!
<br>
<?php
   $dtfile = "./cnt01.txt"; // カウンタの数値を保存するファイル
   $dt = file($dtfile);
   echo $dt[0]; // cnt01.txtの数値をそのまま表示
   echo "<br>"; // phpの中では改行はこう書く
   $dt[0]++; // 取り込んだ数値に1を加える-c-のような書き方
   echo $dt[0]; // 上式の結果を表示
   echo "<br>";
   $dt[0] = $dt[0] + 1; // 前の数値に1を加える
   echo $dt[0]; // 上式の結果を表示

 // 演算した結果をcnt01.txtへ戻す(上書き保存する)
   $fp=fopen($dtfile, "w");
   fwrite($fp, "$dt[0]"); // 結果をcnt01.txtへ書き込む
   fclose($fp); // ファイルを閉じる
 // これでcnt01.txtが1増えました。
</body>
</html>

 phpの部分はCのように//でコメントが書き込めるのでとてもありがたいです。
 ブラウザを立ち上げ、ブラウザのアドレスの枠に
http://localhost/tryphp/watchcnt.php
と書き込み、enterまたはボタン(リフレッシュボタン)を押し応答を待ちます。
 左図のようなエラーが出ましたが、15行目の演算と16行目の表示まではうまくいっているようです。
 エラーも何行目の何と原因を示してくれるのでデバッグ箇所を捜すのに役に立ちます。ありがたいです。
 取りあえず18行目と19行目を//で無効にして...
18|
19|
  // $dt[0] = $dt[0] + 1; // 前の数値に1を加える
  // echo $dt[0]; // 上式の結果を表示
もう一度ボタン(リフレッシュボタン)を押し応答を待ちます。
 エラーが消えうまくいきました。
 でここまで来ると最初の考え通りの結果を期待し、欲が出てしまいます。
 18行目以下を修正して
18|
19|
20|
21|
22|
23|
24|
25|
26|
27|
28|
   $dt1 = $dt[0]; //新しい変数を作る
   $dt1 = $dt1 + 1; // 前の数値に1を加える
   echo $dt1; // 上式の結果を表示

 // 演算した結果をcnt01.txtへ戻す(上書き保存する)
   $fp=fopen($dtfile, "w");
   fwrite($fp, "$dt1"); // 結果をcnt01.txtへ書き込む
   fclose($fp); // ファイルを閉じる
?>
</body>
</html>
もう一度ボタン(リフレッシュボタン)を押し応答を待ちます。
もう一度押す! 
 成功です!!うまくいきました。$dt[0]++;と$dt1 = $dt1 + 1;が同じ動作を確認したかったので結果に満足です。
 PHPは-C-を優しくしたような感覚で思ったより取っつきやすい印象でした。私にとっては、これがphpの最初の一歩でしたが次はホーページに実装を考えて、もう少しかっこいいことを試してみたいと思います。

1  2

jji工作室にもどる

お問い合わせ