「今日から使えるPHP5サンプル集」(山田祥寛著)を購入。「ホームページ(別館)」を置いているバリュー・ドメインレンタルサーバーがPHP5に対応していることが判明。それまでの「広告表示義務(無料)」から「有料広告免除サービス」を申し込む。WebサーバApache(アパッチ)のインストールおよび各種設定。「PHP5逆引き大全500の極意」(高島優作著)を購入。PHP5本格派」(株式会社qnote著)を購入。(毎日コミュニケーションズ発行、本体価格2800円+税)。(ソーテック社発行、本体価格2840円+税)。画像を取り扱っているプログラムが載っていたので購入することを決めた。バリュー・ドメイン・レンタルサーバーの管理画面からサーバー上にインストールしたMySQL管理ソフト「phpmyadmin」を用いて、テーブルを作成しようとテーブル名とフィールド数を入力して作成ボタンを押すとエラーメッセージが表示されてテーブル作成ができずに苦労。MySQL管理ソフトphpMyAdminで苦労、テーブル作成出来ず。PostgreSQLをインストールするためには、「Cygwin」というWindowsパソコン上にUnix環境を構築するソフトをインストールする必要があることが判明。パソコンショップで「CygwinでPostgreSQLをWindowsで使う本」(高島優作著、秀和システム発行、本体価格2600円+税)を購入してインストール開始。PostgreSQLの習得開始。PostgreSQLの習得をあきらめて、MySQLに戻ることにした。MySQLによるデータベース構築にメドが立った。サーバー上に自動インストールされた管理ソフトの使用をあきらめる。ローカル(自分のパソコン)にインストールしてある管理ソフトでテーブルを作成してそれをサーバーの管理画面から「データベースの復元」によりデータベースをアップする方法に切り替える。MySQLデータベース操作のプログラム作り。データベースを操作できるようになってきた。今までに購入している本を基礎から身につける事が重要だと気づいた。「急がば回れ!」であることがわかった。MySQLデータベースがおもしろくなって来た。終日、データベース操作(クイズ)のPHP、JavaScript、HTML混在のプログラム作り。PHP、JavaScript、HTML混在のプログラム作り(クイズシステムの構築)。PHPプログラミングで苦労。(正誤記録や得点計算などのためのクッキー書き込みおよび読み取り、サーバーへのファイル新規作成および書き込み、読み取り方法の習得。クイズシステムのPHPプログラミング。「戻る」ボタンや「更新」ボタンで前の問題に戻れないないようにする研究。クイズシステムの改良。クイズシステムの改良。正誤判定ページなどへの画像挿入に成功(データとしての画像ではなく固定した画像)。「ホームページ(別館)」に「PHPとMySQLを用いたウェッブデータベース構築の記録」のページ(つまり、このページ)を追加。データベースに画像そのもののデータを入れるのではなく「画像へのパス」を入れた方が楽であるということをソフトウエアのプロである知人から教えてもらった。「画像へのパス」をデータベースに入れる方法でローカルで「データとしての画像」を表示させることに成功。「画像へのパス」をデータベースに入れた画像入りの「農園クイズ」をサーバーにアップしてクイズを稼働させることに成功。自分のパソコン内の管理ソフトでテーブル作成し、サーバーの管理画面から「データベースの復元」によりデータベースをアップする方法ではなく、データの登録や修正・削除などのすべてを自作のPHPプログラムで行う方式に切り替える。そのためのプログラミングに取りかかる。理由はphpMyAdminという管理ソフトが次々にバージョンアップされるので、何ヶ月かプログラミングを休んでいるとついていけないためである。(すべて自作方式の方が良いということに気が付いた。半年位前にバリュー・ドメインのサーバーを変更したところ、それまで文字化けすることなく順調だったデータベースからの取得データの文字化けが起きたので約半年間クイズを閉鎖していたが、やっと「MySQLのバージョンの違いで取得データの文字化けが起きる」ことに気づいた。何日間もサーバー仕様がMySQL5のサーバーで文字化け解消の努力を試みたが、解消できなかったので、MySQL5のサーバーからMySQL4仕様のサーバーに変更したところ文字化け解消に成功した。MySQL5のサーバーでの文字化け対策は先送りにした。レンタルサーバーを乗り換えたら移転先が、MySQLのバージョンが5.0だったので、文字化け発生。MySQL5サーバーでの文字化け対策を再開せざるを得なくなった。連日悪戦苦闘の連続だが文字化けは解消せず。インターネット検索中に偶然、クッキーを用いないたった3行の簡単なJavascriptによる「戻るボタン対策」を発見。(戻るボタンを押しても、瞬時に現在のページに戻ってくることで、前のページには戻れない仕組み。MySQLバージョン5での取得データの文字化け解消に成功。約2年近くかかってやっと成功した。UTF8」のSQL文を発行するなどにより文字化けを解消できた。次第にWEBデータベースの使用をやめて、自作のファイルシステム(各種のデータをテキストファイルとして記録する方式)に切り替えて運用している。理由は、MySQLなどの「既成のデータベース」は、バージョンアップなどにより、順調に動いていたプログラムが、いつの間にか動かなくなることである。「ファイルシステム」は、時代遅れで、セキュリティ対策としてはデータベースよりは劣るだろうが、クイズや学習システムなどの問題文や回答群などデータの記録用としては、問題はない。各種の個人情報を扱う場面では、やはり、データベースを扱うことにしたい。Topページへもどる。