php講習 1/12
・今日の清掃は、海岸(東浜)
・今日の清掃は、海岸(東浜)
<1時間目>
・準備(授業が始まる前にやっておいて)
eclipse,zampp,mySQLクライアントの起動
課題テキストPDFを開く
・掲示板作成、昨日の復習
返信テーブルにデータを追加
select * from reply\g
・拡張していく(p.32)
ALTER TABLE comment ADD url TEXT AFTER content ;
・結果の確認
desc comment;
・ALTER TABLEコマンドの確認をしたいとき
検索条件:mysql alter table (例えば)
<2時間目>
・拡張していく(index.php)(p.33)
URL<br>
<input type="text" name="url" size="20"><br>
<input type="text" name="url" size="20"><br>
・拡張結果の確認を画面で行う。
・拡張していく(submit.php)(p.34)
$url = $_POST[url];
・insert文の修正
$sql = "INSERT INTO comment (nickname, content, url, created_at)
values ('".$nickname."','".$content."','".$url."','".date('Y-m-d H:i:s')."')" ;
values ('".$nickname."','".$content."','".$url."','".date('Y-m-d H:i:s')."')" ;
・確認作業
実際にデータが登録されるか確認
select * from comment\G
・eclips上の表示
文字列と判断されると文字が「緑」となる。(sql文、タグなど)
SQL文で文字列としてあつかうものは「'」(シングルクォート)で囲う
・拡張していく(submit.php)(p.35)
print ' <a href="'.$row1["url"].'">'.$row1['nickname']."</a>さんの投稿<br />";
・確認作業
画面で、ニックネームにマウスをあてたとき、リンク先が表示されることを確認する。
urlはhttpから始めないと、Firefoxがlocalと判断しリンク先に飛んでくれない。
<3時間目>
・課題7 掲示板の資料の再確認
先週からこれまでに作業した内容を資料で説明
SQL文の記述で「'」「"」の対応に注意
if文の「{」「}」の対応に注意、インデントをしておくと見やすい。
eclipse上で「{」「}」にカーソルを合わせると、対になっているカッコの色が変わる。
(色は薄いけど)
・掲示板機能の基本的なところは出来た。
c create ○
r read ○
u update
d delete
・いまやっているところは、単純なエラーの範囲なので、エラーがでたらなるべく自分で
プログラムを見直しして下さい。
<4時間目>
・資料8のP1-4は資料7と重複しているので、replyテーブルに対して拡張する。
(1) mySQLクライアントから、テーブルのカラム追加
ALTER TABLE `reply` ADD `url` TEXT AFTER `content` ;
ALTER TABLE `reply` ADD `url` TEXT AFTER `content` ;
(2)reply.phpへurl入力を追加
URL<br />
<input type="text" name="url" size="20"><br />
<input type="text" name="url" size="20"><br />
(3)reply_submit.phpにデータ受け取りを追加
$url = $_POST[url];
その2、insert文にurlを追加
$sql = "INSERT INTO reply (comment_id, nickname, content, url, created_at) values
(".$comment_id.",'".$nickname."','".$content."','".$url."','".date('Y-m-d H:i:s')."')";
(".$comment_id.",'".$nickname."','".$content."','".$url."','".date('Y-m-d H:i:s')."')";
(4)insert.phpの返信者ニックネームにurlのリンクを張る
print '<a href="'.$row2["url"].'">'.$row2['nickname']."</a>さんの投稿<br />";
(5)画像用のカラムをcommentテーブルに追加
ALTER TABLE 'comment' ADD 'photo' TEXT AFTER 'url' ;
・追加したあとの確認
desc comment;
(6)index.phpのフォームに画像用項目を追加
PHOTO<br>
<input type="file" name="photo" id="photo" /><br />
<input type="file" name="photo" id="photo" /><br />
form タグを書き換える
<form action="submit.php' method="post" enctype='multipart/form-data'>
<form action="submit.php' method="post" enctype='multipart/form-data'>
<5時間目>
(7)imgフォルダを作成する。
eclipseからbbsプロジエクトフォルダから、新規にimgフォルダを作成する。
・画面から、photoの参照でファイルが選択できるようになる。
まだ、受け取り処理が出来ていないので選択のみ
・submit.phpに追加
// 最後に入れたID を取得する
$sql = "select id from comment order by id desc limit 1";
$sql = "select id from comment order by id desc limit 1";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$row = mysql_fetch_row($result);
// 画像データを保存する。
if (is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'], "./img/".$row[0].".jpg");
}
if (is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'], "./img/".$row[0].".jpg");
}
・phpの解説
is_uploaded_file() アップロードしたファイルの存在チェック
move_uploaded_file() (apacheの)テンポラリファイルから、/imgに移動
move_uploaded_file() (apacheの)テンポラリファイルから、/imgに移動
・ファイルを指定して投稿する。
eclipseからリフレッシュ
imgフォルダにjpgファイルがあることを確認する。
エクスプローラから、imgフォルダにjpgファイルがあることを確認する。
・ファイルはあとでzipファイルにして送りますが、問題があればなるべく自力で
調べて解決出来るようにして下さい。
・p.9以降は明日
・掲示板の機能追加は資料8まで、そのあとは何か追加するかも。
・get,postが終わったので、そのあとはセッションをやる予定。
0 件のコメント:
コメントを投稿