PHPの入門書としてここ最近さらに評価が高まっているらしき「いきなりはじめるPHP」(谷藤賢一著、RIC)をやっていて躓きました(^-^;
Amazonでも大人気
PHPはワードプレスを動かすプログラムなので勉強したいと思う人は多いみたいです。
僕もその一人で、本屋で数冊立ち読みして一番読みやすそうで、Amazonでのレビューも高評価だったしプログラム系の本にしては安価だったので買ってみました。
今日の昼頃スタートして、しょっぱなのXAMPP導入でバージョンが本に書いてある1.8という表記ではなく、一気に5.6とかに飛んでいてビックリしましたが、何とか問題なく進められました(サポートページもあるのですが、そこの情報も古かったです)。
夕方過ぎにはデータベースを扱う後半部分にさしかかって、どうせだからと一気に最後まで進もうとしたところ・・・
躓きました(^-^;
ちなみにOSはOSX Yosemite、XAMPPのバージョンは5.6.3でブラウザはChromeです。
データベースにデータが追加されない
Chapter4-6、アンケート自動保存機能を追加しよう、という項目です。
ここまででアンケート入力フォームと、アンケート内容を格納するデーターベースの用意が出来ている状態で、入力フォームで受け取った情報をデータベースに入れるプログラムを記入する項目となっています。
書いてある通りに書き換えを行い、アンケートの記入を行い、送信を行ったのですが・・・データベースを見ても、データは直接入力した一件のみ。
何度やっても追加されません。
本には、不具合がある場合は、「たいていはつまらないミスが原因」「スペルはあってますか?」「全角スペースが混じっていませんか?」とありました。
この文言はその前からずっと書かれていたことでこの部分に特化したアドバイスではありません。
が、しょうがなく言われたとおり書き足した部分の記述を見返して、スペース一個一個を検証したのですが、やっぱりデータは追加されません。
適当にググってみたところ、僕と同じ状態に陥った人のツイートを発見。
著者に質問していますが、返答の形跡は無く、解決策は不明(^-^;
で、書き足したコードをググって見たところ、そもそもこの本でされている記述は古いというかセキュリティに問題のあるもので、さして美しいものではないと言われていることが判明(もっとも、素人の僕には真偽不明です)。
初心者向けの本ですから、しょうがないこととはいえ、何かガッカリ気分を味わいつつ、もっと別の本で勉強しなおすしかないか、と思ったのですが。
解決策:メール送信をコメントアウト
このアンケートフォーム、アンケートを入力して、確認ページでOKすると自動でメールを送信するようになっています。
しかしローカル環境で動かす限りはこのメール送信は行われないため、エラーとなります。
本では、このエラーは無視していい、としてそのまま放置するようになっていました。
しかし、躓いた僕にとっては目に見えるこのエラーが悪さをしているように思われたので、コメントアウトしてみることにしました。
PHPの場合はコメントアウトはhtmlとことなり/*~*/で挟むので、メール送信に関するところを全部コメントアウトしました。
ちなみにコメントアウト自体は基本事項ですが、本書では触れられていません(^-^;
で、何がどうしたのか知りませんがこの改変を施した後、データベースにデータが送信されるようになりました。
何が「原因はスペルミス」だこの野郎と毒づいたのは内緒です(^-^;
早めの改訂を!
僕みたいな素人でも一日で終わらせられるこの本は凄いと思いますし、実際読み終わって完成したプログラムを動かすと感動しました。
が、さすがに情報が古くなっている感は否めません(^-^;
他に良い本があるかどうか分かりませんが、これからも改訂されない場合どんどん物足りない本になっていくと思われます。
なのでこれから購入をお考えの方は要注意です。