PHP

PHP入門

     PHPという言葉に接したのは、多分5年以上前になるのかも知れない・・・・写真の自動表示に興味を持って色々なソフトを見つけていたときに多分北海道のある会社のフリーソフトが、偶然見つかったのです。 その時解凍してみると説明要趣旨中に、初めて見る言葉PHPがあったのです・・・・当時は未だそれほどPHPも有名でなく殆どがパールというような言語で出来ているものが多かったのでした・・・そして、またまた新しい言葉としてGDという言葉があって、UPするのに必要なソフトの一部である・・・と説明があったのです。 結局は完全な形で運用は出来なかったのですが、動作は、まあまあ出来たのでその時には、それ以上進みませんでした。

     ところが、それ以降本屋などに行くとPHPの言葉が溢れるようになったのです・・・・そして素晴らしいphpの世界へ! 等という言葉にかなり出くわすようになったのです・・・・

     その時です・・・・では、ちょっと内容を見てみようと思ったのです・・・・そしてその本を手にすると何となく言語の姿がBASIC PROGRAMに近いことが伺われたのです・・・・それ以来、余裕のあるときにはこれを見ながら勉強を進めるようになったのです。

     とにかく、この言語は、色々使えるので素晴らしい言語です・・・・しかし、とにかく、テストするとき、また運用するときの手際の悪さは、格別で、かなり若いパワーがいるのです・・・・そして何よりも大変なのは、思ったより色々な知識(例えば、基本的なWindowsの知識は勿論のこと、サーバーに対する概念(簡単でよい)、そして、自分で自前のサーバーを準備する事などが必要なことでした! 最も、こういってはいけないことなのでしょうが、自分のFTP上のサーバーでテストを刷ると言ったことも出来ないわけではないのですが、やはり自分で導入した方が、自然の形でしょう・・・・そして、サーバーがセットできたら、早速次の、重要な作業、それがphpのインストールとデータベースの導入と設定です・・・・そしてやってみなければ分からないのですが、今度はこの相互関連の文字化けの問題が出てくるのです! これらを順々にやって行くとかなりコンピューターというものが分かってくるのですが、途中で投げ出してしまう方々も多いようなのです・・・・

     そうこうしているうちに、本棚に幾冊かの本がいつも目に付くようになるのです・・・・中でも、DREAM WEAVERを主体に、現在は、hpを運用しているのですが、D/Wを用いてこのPHPが勉強できることを知ったのは、かなり経ってからでした! 当然、いつも利用しているD/Wならばと言うことでその本を見てからが、実はこのPHPへの乗っ込み方が深くなってしまったのでした・・・・ その本というのは、Dreamwever プロフェッショナル・スタイルという本でした。 これは、主体はd・wの使用法のやや上級内容を全般的に紹介する本であり、決して初歩の方が見る本の内容では無いのですが、ここにd・wの色々な利用方法が、出ていたのです・・・・そこで、初めてd・wでPHPが開発できることが分かったのです・・・・最もこれは、PHPに限ったことでなく、その他 IIS を利用したASP等の利用方法が載っている本、Dreamwever8 パーフェクトマスターなどには、その最初の利用方法が載っていますが、やはり今最高に利用されているPHPでAMPを組んで始めるのが得策でしょう・・・・

     良く色々なインターネット上の質問事項を見ると誰もが一度は通過する難問がほぼ同じ内容であることも分かりました。 とにかくそこには、沢山の障害物が転がっており、足を取られてしまい前に進めないのです!・・・・今回、その一端をここで紹介して皆様の参考に供してみようと思い、ここに纏めて行くことにしました・・・・同じような境遇の方、それからこれからPHPを学習する方々には、ここで起こった数々の犬棒カルタの棒が有ることに築くことでしょう。 そしてその解決方法が、参考になれば、それで十分と思っているのです・・・・そして、ここでは私が利用している本を同時に紹介しますから、多分にっさんこうになると思います・・・・断っておきますが、ここでは、自習による勉学の方々を対象としており、専門学校の生徒さんなどは対象にしておりませんので、事前に了解しておいてください・・・・とにかくPHPの参考事項はインターネット上に転がっておりますが、殆ど同じような内容が多く、このような内容のものは、余り伏せられているようです・・・・

     せっかく自分で苦労したものは、ここで紹介した方がよいだろうという気持ちで始めているわけです。・・・・・D/WEAVERによってPHPをプログラミングする・・・・何か夢みたいな感じもしますが、後からだんだん説明しますが、素晴らしい本があったのです! 実はここで紹介している本では、本当の概念のみなのですが、そのd・wが自動で作り出したプログラムを解析している本がありました・・・・こんなに親切な本も見つけるとあると言うことが分かったのです・・・・そして、おまけに、色々な、ブログを作るためのd・wのレコード挿入メニューのボタンクリックで作り上げるブログ!、いや・・・本当に素晴らしいソフト、そしてd・wと言うことが分かってくるのです。 これは、私が今やっていることの苦労を紹介しているページです・・・・だんだん追加していきますから、がんばりましょう・・・・

------------------------------------------------------------------------------------------------------------------

     では、では、ここから始めましょう! ただし、これからは、AMP設定が終わって運用が出来る形でなければならないのです(ここで少し説明させてもらうと、Windows xpが主体で説明されているので、私のようにWIN2000などのOS、またVISTAの方々も結構セットアップには苦労されると思いますが、最初に紹介した本などを手にとって進めば絶対に出来るはずなのです・・・・この本では、基本的には簡単なブログシステムを作り出す方法が記述されており、それを余りプログラムに話をふれないで作り出すという方法をとっているのです・・・・・結局の処、「DESIGNERの方々を対象」にしている本なのですが、このphpが、いとも簡単にd・w作り出されて行く方法論が記載されているのです・・・・確かに初回やっているときには分からないのですが、こんなにもいとも簡単にブログシステムができてしまうのかと驚くばかりです! (心の内では、D/Wがこんなに素晴らしい事が出来るのに、利用していない方が多いし、それらを紹介している文献も少ないと言うことなのです・・・・ 

     「DreamWeaver PHP スターティングガイド」 という本が、先ほど紹介したD/Wで勉強できる数少ないほんの一部です。 これは、出版社が、マイコミであり、ISB N978−4−8399−2086−9 となっています。 これの初版を利用しています・・・ この本では、テストサーバーの設定は、XAMPP(ザンプ)のインストールによって紹介されています。 この辺の苦労は、「phpの習い方」を見てください・・・・

まず最初にやるべきことはdatabase の作成です。 そしてd/wを結合することから始めます。

DreamWeaver PHP スターティングガイドからの検討(このページは、初版の本を利用して自分の悪戦苦闘した歴史を紹介しています・・・どうぞ参考にしてください)

p41〜44(このぺーじは、そのほんの実際のページです)

     ここでは、まずデーターベースを作成しておいたものに、初めてd/wで接続するための作業なのです。 実は、この作業は、d/wでは、もっと簡単にレコード挿入ウイザード」というもので作成できるのですが、ここではその紹介内容です。 

まず最初は手作業でということなのでしょう・・・・まずは、与えられた教材でフォームを下に一つ追加してから、データーベースへの設定をやって、このフォームを実際に稼働してから、何か言葉を追加して、その言葉が、データーベースについ傘れっっていればまずは成功という最初の勉強なのでです。 結構最初は難しいのですが、目的をふまえて作業をすれば必ず成功するでしょう。 

まず初めて、PHPで作業をするときには、その内容でDataBase と接続しなければなりません・・・・記述通りにやれば実施できるはずです。 

参考までに書きますと、よくほかの本では、いろいろと設定作業が必要なように書いてありますが、ほとんど初級の場合には、このようなパスワードの設定なしに進めて大丈夫です。 もっと、大切な内容の本式なページ作成段階になってから設定すればよいので、何も設定しない方が、簡単で研究段階では、楽なのです・・・・最後「更新後の異動先」にindex.phpとリンクするようになっていますが、これは、このフォームの設計段階でこのブログシステムの登録画面でその親子関係の親ページを記入するためのものなのです。 これも分かりに苦と思いますが、後からだんだん理解されて来ることなのですが・・・・・

そして、この関連の勉強では、自分でデーターベースに項目が追加されていることが分かったときには、とてもうれしいことなのです! 何かデーターべーすを攻略した様な感じになるのです・・・・

p45〜

さあ、いよいよ登録画面の作成です・・・・この時に重要なことは、admin folder の中の input.phpで作業を実施するということです。 これは非常に大事なことなので意識してこのフォルダー内容を確認しておきましょう・・・・

Blogシステム管理画面・・という内容の文書が現れますが、まずこの文書をさわる前に、original_input.php として保存しておきましょう・・・・理由は、後から何回もさわるときに比較が出来るようにです・・・

ここで、ちょっとこのformとなれておきましょう・・・一覧画面にもどる」をクリックしてみてください・・・・Blogシステム管理画面」へ行きましたか? そして、上の名称は、http://localhost/blog/admin/index.php となっていますか?admin/index.phpとここを覚えておきましょう・・・・どんな内容の書類に移動するかです!

そして、今度は、 新しい記事を追加する」をクリックしてみましょうか・・・・最初の文章に戻りましたね! (index.phpです)

では、ここで タイトル」の枠をクリックしてみましょう・・・そしてproperty を出してみてみましょう

subject とでています。 続いて、内容は、digest、一番下の登録は、Submit で値が、登録です。

そして、form送信となっています。 暗記することはないのですが、意識しておきましょう・・・・それをしないで進めていくと後で何をしたのか分からなくなってしまうのです!

※ここに「続き」を追加」とあるところを削除して、フォームを追加するわけです・・・・これは、今回の勉強のためで、著者がわざわざ私たち初級者のために訓練実施のためなのです。 いわゆるフォームの作り方の一部はこのように作れるのだよ・・・そして、d/wでは、いとも簡単に、プログラムを一切書かなくてもこのように簡単にフォームの一部分を挿入できるのだよ・・・ということを紹介してくれているわけです!それが、p45 です。 この時画面がでますが、ラベルなしの所にラジオボタンを入れてOKを押しましょう・・・

すると四角い欄がすぐに出来あがります。

prppertyを見てみましょう・・・・textfieldと書いた文字だけが目立ちますがほかは空欄で残っています。このtextfieldをdocument_textと名称を入れ直します。

そして、文字幅には、50,最大も字数欄には、20と記入するわけです!そして、マルチラインにチックを入れましょう・・・・そして、先ほど入れた20がなくなっていたら再度入れましょう・・・・

続き欄が大きく広がって完成です・・・・本当に簡単ですね・・・

これで、まずフォームが完成したわけです。 次にやることは、いよいよ、phpの作業です。いわゆるこのフォームからd・bにデータを搬送するphpのprogram作りなのです。

 レコードの挿入ページをあけるとform Main と入っているでしょう・・・・これがこのフォーム名称なのです。

my_blogを選んで、table 挿入で、(ここが重要です・・・・)必ずentry_tableを選ぶことです。

送信後の内容は、admin/index.phpをえらびましょう!

この理由を考えてみましょう・・・・先ほど、p48の6項目目で、更新後のindex.phpに設定したと思いますが、この理由をおわかりですか・・・・これは、最初紹介したように、input.phpで記入してから登録して、一覧画面を見るというような体型で出来ているわけですから、そこへ関数を渡すという程度は、分かっていないと先が分からなくなってしまうわけです。

では、p49を参考にして動作確認をやってみてください。そして、php admin で、その記入した内容がちゃんとデーターベースに入っているか見てみましょう! もしこれらの内容が入っていれば合格です。 多分これは簡単にいくと思います。私も一回で成功しましたから・・・・うまくいったときは大変うれしいですね・・・・


なお、このphp adminの操作については、p394のeclipse出はじめる、php5プログラミング入門」isbn978-4-7980-1851-5 c3055でよく出ていました! なおこれはいろいろな紹介の本があるはずなので、見つけてみることをおすすめします。


p41_p52の間の勉強は、完了したことになるのです。 お疲れ様でした・・・・



では、次は、p053からの作業ですね・・・・

my admin で、毎回確認するのが手間がかかって大変なので、phpでプログラム化を進めて、簡単に確認できるように一覧画面を作ってしまおうという意味なのです。 何か大変難しいような作業なのですが、実際はそれほど難しくなく至極簡単に終わってしまうので驚きなのです。


P53にindex.phpは何か勘違いする画面ですが、これは、admin/index.phpを開けということなのです。P54にも書いてありますが,admin/index.phpは、phpはかかれていないのでそうさはしないのです。全部なれているhtmlだけでかかれているのです。


P54にrecord setを作れと書いてあります。このようにやればできあがるはずです・・・・これは、一覧集を作ったり、編集画面を作るときに利用するものだと紹介されていますね・・・・


最初にデーターベースはつながれていますので、ここではそのrecord setが簡単に作れるのです。

Applicarion panl----bindingというように選んで、recordset_queryを実行しましょう・・・・フォームがでるので、一番上から、entry_listと入れてみましょう・・・・そしてentry_listと入れるのです。

そして、一番下側のデーターベース項目のentry_tableを選SELECTを選ぶのです。 するとどうでしょうか・・・・TESTをクリックするとたちどころに自分でさっき入れたデーターベースの内容が一覧されてしまうのです。 誠に驚きです。Okをクリックするとbinding panel

record setができあがっているのです。 see p55


このbindingですが、分かりずらい言葉ですね! このセットを利用すると、各々のWEB PAGEの必要なDragして、挿入できるという訳なのです。 では、実際にやってみましょう・・・・

ほんの指示通りに 「サンプルのタイトルです」をDRAGして黒くしてから、record setの「サンプルのタイトルです」という言葉は、2番目のSubjectに該当するわけですから、DRAGしてみましょう! なにか、「サンプルのタイトルです」が、英語の文字に変わりましたね! それでよいのです・・・・binding出来たということなのです。

p57をさんしょうして、実際に運用してみましょう・・・・・この時このページを上書きしないとだめですから保存いたしましょう・・・・どうですか!ちゃんと表が現れましたか?


ちゃんと一番のデーターベースの項目が記入された状態で表現されています。 ただし一項目だけでていますがその他の項目があっても出てきません! p58も同様にbindingしてしまいましょう・・・・ここまで、完成しているか、再確認いたしましょう。(ここで一つアドバイスです・・・・もしだめなときには、最初のindex/phpを再度コピーして最初からやり直しましょう・・・・ということは、途中から直してもすでにphpが記入されているので感単位修正できなく、2度で間に合ってしまいますからこの方法の方が遙かに時間の節約になるからです・・・・)


まとめ


1.databese 接続

2.admin/input.php に不足フォームを追加して、それをdatabaseに書き込む

3, php adminで記録されているか確認実施する・・・・模しないときには、そちらを直さないとこの五の作業は出来ない!

  1. admin/index.php record_set_queryを実施してrecord setを作る。

  2. admin/index.phpで、項目をdragして、bindingして、表示できるように改良する。

  3. これで、うまく動作するか確認する・・・・

    異常の作業が、ここまでの作業です。 うまくいきましたか!・・・・・・・

----------------------------------------------------------------------------------------------------------------------

   では、今度は、いよいよ、いちどに全部画面に出てくるよう直していきましょうか・・・・・これは、p59からということです。記事登録画面から、一覧画面にもどる」とたどっても、 blog/admin/index.phpには、 input.phpで入れたデータの一件しか表示されておらず決して使いよい状態ではないのです。そこで、次は、この一覧を表示しようというのです。これは、データーベース側にもっと沢山データーを入れておいても表示は、一件だけということなのです。 そこで一覧表示をさせるのにどうしたらよいかと考えるわけです。実はこれもd・wで簡単にプログラムを組めるのです。それには、まず、リピート領域というものを作るのです。

blog/admin/index.phpを開いて、下側の欄をクリックして下のテーブルが全部選択されるようにしてみましょう・・・・多分選択が難しいかもしれませんがそういうときには、下の欄にある<tr>をクリックすれば簡単にその欄を選択できるのです。 もちろんこのtrが下にないときにはいろいろテーブルをクリックしてその文字を出すようにつとめましょう・・・・ちなみに隣の<td>をクリックしてみましょう! いかがですか? 下の欄全部が選択されていませんね・・・・これではだめなのです。(p59)


サーバービヘイビアで、リピート領域というところをクリックしましょう・・・・リピート領域の窓がでて、record_setにentry_listが選ばれているでしょう・・・・そして、表示に10件と全体というような文字がでていますか?では、全体ということでokと致しましょう。


そして、戻って画面を見てみると、左の欄の少し上にリピートという記号が現れているのが見えるでしょう・・・・ここまで濃い場ほぼ完成です・・・・・まずいつものようにブラウザで確認してみましょう・・・・

これでID,タイトルがすべて表示されるはずなのです・・・・いかがですか、こんなに簡単にフォームから入れたデータが表示されてしまうのです(これはPHPが動作してデーターベースから読み上げたデータが表示されていることを理解しましょう・・・・・) 本では、ライブビューを利用して確認しようとなっていますが、ライブビューの表示は結構時間がかかるのでどちらでも好きな方で確認すればよいでしょう・・・・表示ーライブデータです。


では、input.phpにデーターを追加して登録してみてください・・・・・すると今入れたデータが画面表示されるでしょう・・・・いかがですか・・・・そのように簡単にd・wでブログ程度の画面は作り上げることが出来るということを示しているのです。 本当に驚きです! p62

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ここからは、いよいよ間違えて登録してしまったときの修正画面の作成です。 今見たように入った内容が個となっているときには当然修正が必要になりますが、ここではedit.phpで作業するように作っているのです。

実は、この最初の状態で、コードを見ておくのも良いのです! kんたんに見ておいて後からどのように化wqあっている化見るのもためになります・・・・admin/edit.phpです。 一往古ーピーを最初のように撮っておきましょうか・・・・


さて、ここでsぎょうに入る前に大事なことがあります・・・それは自分で付くtrたデーターベースのテーブルの項目が何という名称であった買う思い出すことです・・・よろしいですか!

entry_editと入れてから接続でmy_blogと入れるわけです。そして一番下の欄に、データベース項目が現れますから、そこでentry_tableを選ぶわけです。TESTボタンを押してみましょう・・・・・データーベースの全項目がひょうじされていればOKです。


では、ここから右上にある基本設定のボタンを押してみてください・・・・いかがですか次のフィルターなどの表示のあるパネルが現れているでしょう・・・・table欄でちゃんとentry_tableがでていますか? Comment tableなどとでていてはいけません・・・・下部のfilter欄にentry_idと入れて、すべて後は自動で欄が埋まるはずです・・・・

testを押して好きな番号を入れてみましょう・・・たとえば2などと入れればデータベースの2番目が表示されるはずです・・・・いろいろテストをやってみましょう・・・・


p65一番下

一番下に非表示フィールドと表示されたらば、entry_idと入れましょう・・・・p66最下部そして非表示部分の欄も同様にバインディングしておきましょう・・・・p67


この状態で保存してから、ブラウザで確認して見ましょう!

何も表示されないはずですね・・・そこで本のように記号を入れてみてください!


うまくいったようです・・・・これでp68まで完成です! おめでとうございます・・・・結構この勉強は慣れが必要なようですそしてしんどういですね! まあ、これも今後のための勉強と思いながらガンバrすしかないのでしょう・・・・


p69から

blog/admin/index.phpを開こうとあるので開きます・・・

そしてp70のように新しい手順で進みます・・・ここでちょっと分からなくなるのは、ファイルを開いてパラメーターのセットでしょう・・・・少し時間がかかるので注意致しましょう・・・・派ラメエーターセットすれば、完成です・・・・・ブラウザを立ち上げてみてみましょう・・・・画面の編集欄が出来ているようですね!では、クリックしてみましょう・・・・私は、編集画面が出てきませんでした・・・・p71の様に内容表示が出来ないのです??????


異常の状態は、再度後からにして、今日は、p125に飛んで、コメントの管理機能の作成にしましょうか・・・・


ログイン管理画面の作成ということで難しそうですが作ってみましょう。


まず先のデーターベースに、テーブルを追加するのです。 先のデーターベースをあけてmy_blogを選定して、login_tableという項目を追加してフィールド数は、2として、実行しましょう・・・・指定通りのフィールドに仕上げましょう・・・・そして、保存しましょう・・・・いかがですか・・・・新しいテーブルができあがっていますか?

では、これから後の作業をp126で行いましょう

手順では、追加を実行とありますがこれは見あたりません・・・・いろいろ試行錯誤してみると、my_blogを表示しておいて、今度は、右の欄でlogin_tableを伝わって左に行くと、何か積み木を積んだような+文字のある項目があるでしょうこれが実は追加だったのです・・・・最初からこんな所は分からないですよね・・・・こういう点が初心者にはわかりにくいのですね・・・・そしてそれをクリックすると例の表示画面に出ます。 (実はこれ、作って覚えるphp+mysqlアプリから見つけた説明なのです・・・・結局の所、php admin の使用方法が分からないからこのようにおなるのです・・・・

それに追加しましょう・・・・そして、指示道理内容を尽かして、my_blogの内容を確認してみましょう・・・・もし今追加しているものが入っていれば完成です・・・・

では、今度は、p126のlogin.phpをd・wから呼び出してみましょう・・・・

そして、挿入バーからユーザー認証と書いてありますが、これもすぐ分かりません・・・・よくたどってみると、データーを選んで右から三番目にかぎマークがあるアイコンがあるのでそれをクリックするといろいろ出てきますからそこからログインを選ぶことになるのです・・・・何しろ初年兵は大変です・・・・


するとずらずらと書かれているパネルが出てきます・・・・テストに使用する接続先を欄から選びましょう・・・・私は、my_blogですが、・・・・するとテーブル欄で、先ほど選んだ、フィールドを選定するわけです。 それは、login_tableですね・・・・後は自動で選定されてきます。そして最後に、下の欄にlogin.php ,login error.phpを選んで完成です。OKを押しましょう!


結果、index/phpは、正しくでるのですが、残念ながらエラーの時の表示がうまくいきませんでした!

    これは再度挑戦です!


今、実は、別のプログラミングの本で、実際のDATA BASEの勉強をやっています・・・・やはりつっかっかてしまうのは、ある程度PHPを理解しないと駄目だと言うことが分かったからです・・・・


    いま、挑戦しているのは、「実践マスターphp+mysql」 「PHPによるWeb アップリケーションスーパーサンプル」 で、色々研究中です・・・・これを暫くやって、それから再挑戦したいと思っています・・・・少し紆余曲折がありますが、上をやったおかげで、大分ブログ氏捨て身の成り立ちが分かってきました。 それだけでも今回は、勉強の製菓と思っています。 そのうちに、ECLIPSE関連についても、お話を進めていきましょう・・・・

   今日、本音を言うと、うまくこの先は出来ないのです・・・・うまく動かないのです・・・・こうして考えてくると、やはりデザイン系の人がこれをマスターするのはそう簡単ではないことが分かります・・・・ここで自分にいい気かっせました・・・それは、もっとPHPの内容を理解してから、再挑戦しようと言うことです。  そこで早速その進み方ですね! 私は、本屋で素晴らしい本を見つけました・・・それは、「PHPによるWEBアプリケーションスーパーサンプル」です。これは分厚くちょっと見たときには、なんだか難しいと思うのですが、これを最初から自分で分かるところを(と言うよりも、D/Wで分からなくなっている場所に関連するところを重点に)研究してみるのです・・・」例えば、INPUTされたデーターがPOSTで受けられる手法、GETで受けられる手法などをこのほんの例題で確かめて自分のものにすることです。 とにかくプログラムは、読んでいただけでは最初は身に付きません・・・やはり手で動かしてみることが必要なのです! そして、最初購入当時は分からなかった事柄が、この本の内容を見ているうちにだんだんと分かってくるのです! では、またお会い致しましょう・・・・

続く・・・・・・