2011/01/07

php掲示板作成

php講習 1/7
・今日の清掃は、東浜でした。(名前が付いているなんて知らなかった)

<1時間目>
・昨日の復習
フォームタグのpostメソッドとgetメソッド
$_requestだとどちらのメソッドで送信したものでもphp側で受けられる。
「print_r($_request) ;」で内容を確認可能。

・昨日はさくらエディタでhtmlファイルを編集していたが、今日eclipseで開けたら文字化けしていた。
文字コードはutf8にしていたが、sjisに戻したら表示された。
しかし、FireFox側で、受けるphpの表示が文字化けする。
とりあえず、htmpファイルをeclipseから見るのはあきらめて、設定を戻した。
→文字化け対応はいろいろありますが、どれも一長一短

<2時間目>
・引き続きフォームの練習
受け取ったphp側に入力チェックを入れる。
もし未入力の場合、メッセージを出力する。(if文)
・phpプログラムを修正したとき、FireFoxでctrl+Rでリフレッシュできるの知らなかった。
毎回メニューから更新を選択してました。

<3時間目>
・eclipseの使い方復習
プロジェクトbbsを新規に作成
・課題(掲示板作成)の説明
最初にmysqlで今回使用するcommentとreplyテーブルを作成
create table comment
create table reply
作ったらテーブルの構成を確認
desc  comment ;
show create table comment ;
・課題のテキストにしたがい、ファイルを作成
内容をコピーしていく。

<4時間目>
・課題のテキストにしたがい、内容をコピーしていく、続き。
 追加の処理を間に入れ、インデントをして見やすくする。
・インデントをeclipsでやる方法
 対象の行を選択し、「TAB」キーを押す、「shift」+「TAB」で戻す。
・ソースの追加が終了したら、index.phpで
 サンプルのDB名、ユーザID、パスワードを自分の環境に合わせる。
・エラーチェックの確認
 index.phpのエラーチェックがうまくいったら、投稿してみる。
 投稿したらmysqlクライアントから、テーブルの内容を確認
  select * from comment;
 投稿の内容が大きいと画面の表示が崩れてしまう。そのときは、縦に表示する。
  select * from comment\G
 index.phpに処理を追加
・Firebugでレイアウトを確認
・返信(reply.php)の処理追加

<5時間目>
・返信(reply.php)の処理
追加後の確認作業
・今後の作業のため、投稿してデータを5件くらい作っておく。 
・これからは、プログラムには、先頭にコメントを入れる。
・eclipseのソース
タイトルをダブルクリックすると、全画面表示
2つのプログラムの比較をするとき、タイトルを下にドラックすると2画面分割表示になる。
色々やりすぎて、画面が戻せなくなったら、パースペクティブのリセット
アウトラインの変数名をダブルクリックすると、使っている部分の色が変わる。

・今日やったところを復習、整理
・掲示板の残りは火曜日
1/11は午前中2時間のみらしい

2011/01/06

phpの練習問題とフォーム

php講習 1/6

・明けましておめでとうございます。
 最初に教室でロッカーからPCを出すとき、数が少なくてびっくり。
 私は持って帰らなかったけど、皆PCを持ち帰っていたんですね。

・今日の掃除は、海岸でも河の方を歩きました。
 生活している人がいるような小屋があって驚きました。

・年末年始で教室の環境が変わっているらしく、1時間目は宿題で自習。
 宿題は、03_loopから05_functionまでやったけど、回答を持ってくるのを忘れました。
 年末にもらった資料で、掲示板のソースを自分のPCに入れました。
 掲示板用にmysqlの環境設定も実施。

・本日の予定
 一戸先生がお休みになった。
 前半は、冬休みの宿題の解説。
 後半は、年末に配布した掲示板の資料の説明。

・宿題の実行環境について
 apacheで認識するため、/htdocの下にフォルダごと展開して下さい。
 デスクトップにあるとapacheが認識できません。

・宿題の九九の表を作成
 8*8にしたら、市松模様にならなかったのでロジックを修正。
 Firebugで結果を確認していたら、閉じタグのバグを見つけてしまいました。
 閉じタグは無くても動くんですね。私のように間違う人が多いから、相手にしてると
 画面表示が乱れて使い物にならないのか。

・宿題のファンクションを作成

・明日からやる資料の課題に進む前に事前説明
 htmlとphpが混在したソースの動きについて。
 時刻を表示したが、PCの表示と時刻が6分ほどずれているのはなぜ?


<フォームとパラメータ>
・事前説明、その2、フォームと使うタグについて
 事前説明サンプルのHTMLファイルはエディタで開いて内容を確認する。
 そのままファイルをダブルクリックするとFireFoxから開いてしまいます。
 動かすときは、httpのパスを使ってFirefoxから開いて動かす。
 ダブルクリックで開くとfileパスになり、apache経由ではありません。
 submitしたときの動作が異なります。
 インプットタグ(テキスト、ラジオボタン、サブミット)(チェックボックスは後日説明します)
 セレクトタグ

・htmlファイル側からPOSTで渡した値は、phpファイル側の$_post変数(連想配列)で値を取り出す。
 $_post変数は、var_dump()か、print_r()で配列の内容を確認可能。
・GETで渡した値は、$_GET変数で受け取る。
・練習問題
・練習問題、その2、会員登録画面
 氏名、年齢、住所、電話番号はテキスト
 性別:ラジオボタン
 都道府県:選択式

・文字化けするときは、送信側htmlファイルと、受信側phpファイルの文字コードがutf8か確認する。

・練習問題、その3、ログイン画面
 ID,passwdが一致したときに「会員様ようこそ」
 失敗したときはプログラムを終了。