ヘルニアクソ野郎エンジニアblog

~ヘルニアでHell near~

PHPとMySQLでECサイトをフルスクラッチ開発!④スタッフ修正画面の作成

calendar

前回、スタッフ一覧画面とページ遷移画面を作成しました。↓

 

今回はスタッフ情報の修正画面を作成します。

スタッフ編集表

☆マークがついている部分がすでに完成したページになります。

今回は、雲マークのstaff_edit.php staff_edit_check.php staff_edit_done.php を作成したいと思います。

 

スポンサーリンク

スタッフ情報修正入力画面

staff_edit.php

staffフォルダ内にstaff_edit.phpを作成します。

このページは、staff_branch.phpより受け取ったスタッフコードをもとに、名前、パスワードの修正情報を入力する画面になります。

今までの応用になりますので、ポイントを絞って説明します。

まず、$_GET[“code”] でstaff_branch.phpからget送信されたスタッフコードを受け取ります。このデータはテキスト入力されたものではないので、クロスサイトスクリプティングの対策は施しません。

続いて、スタッフ情報を表示させるためにデータベース接続します。

SQLのSELECT文で受け取ったスタッフコードをもとに、スタッフ情報を取り出します。今回はnameとcodeです。

後はスタッフコード〇番の修正のコメントを表示させて、staff_add.phpと同じようにformタグで名前はtext、パスワードはpasswordで入力欄を表示させます。

ここで、input type text にvalueで$rec[“name”] を指定していますが、これでテキスト欄にあらかじめ現在のスタッフ名を表示させておく事が出来ます。

入力した内容がsabmitでstaff_edit_check.phpにpost送信されますが、スタッフコードがなければ修正にならないので、hiddenでスタッフコードを飛ばします。

スタッフ修正入力

修正入力チェック画面

staff_edit_check.php

staffフォルダ内にstaff_edit_check.phpを作成します。

こちらもstaff_add_check.phpとほぼ同じ内容になります。

入力された内容に、空白やpassの不一致があればそのコメントと前のページに戻るように誘導し、問題なければmd5でpasswordを暗号化し、修正しますか?のコメントを表示させてsubmitのボタンを表示させています。

OKボタンを押せば、hiddenでname,code,passの情報がstaff_edit_done.phpにpost送信されます。

修正入力チェック

修正内容をデータベースに登録する画面

staff_edit_done.php

staffフォルダ内にstaff_edit_done.phpを作成します。

postでデータを受け取り、データベースに接続します。

SQLは、「UPDATE」文を使ってデータベースの内容を修正できます。

“UPDATE mst_staff(テーブル名) SET name=?, password=?(修正したいカラム) WHERE code=?(修正したいレコード)”; となります。

$data[]でそれぞれの値を格納させて、execute($data); でSQLを実行させます。

この時点で、指定したテーブルのレコード内容が修正されます。

データベースを切断して、修正完了のコメントをのせてスタッフ一覧のリンクを貼っています。

修正完了

最後に、データベースのテーブルを確認してみましょう。ちゃんと入力した通り変更されていればOKです。

スタッフ変更DB