TOOL更新_全修正(ToDoリスト)の概要と修正日 <=2009/10/14(水)未完了があるがここでVer0.1をFIX 次バージョンの開発(ターゲットはPHP5.3)に移行する。(2011/05/13 ver0.1のままでもPHP5.3で動くというのがわかった。継続する)
100.2009/10/14(水)未完了があるがここでVer0.1をFIXする。次バージョンの開発(ターゲットはPHP5.3)に移行する。(2011/05/13 ver0.1のままでもPHP5.3で動くというのがわかった。継続する。)
99.一般的なフレームワークを使用してPHPを自動作成◎自動生成する。
2009/5/18から調査開始
- Zend Framework http://d.hatena.ne.jp/kazpgm/20090518:移植 ←調査内容はここに書く (2011/07/05 開発しないことにした。)
- Zend Framework http://d.hatena.ne.jp/kazpgm/20090523/1243097859:コーディング規約 (2011/07/05 開発しないことにした。)
- Ethna http://d.hatena.ne.jp/kazpgm/20090527/1243435326:移植 ←調査内容はここに書く(2011/07/05 開発しないことにした。)
- symfony http://d.hatena.ne.jp/kazpgm/20090530/1243699489:「The Definitive Guide to symfonyの翻訳」からわかったこと ←調査内容はここに書く (2011/07/05 開発しないことにした。)
未完了。未完了のままVer0.1終了。
71.プログラム名作成の方法を変更する。(『48.プログラム名をテーブル名で作成しないようにできる機能を作る。』を含む)
未完了。未完了のままVer0.1終了。
- http://d.hatena.ne.jp/kazpgm/20090926/1253915069の「■回答:・・・[2]プログラム名」から
70.「ログイン情報」シート、「会員情報1」シートともに削除可能とする。
未完了。未完了のままVer0.1終了。
- http://d.hatena.ne.jp/kazpgm/20090926/1253915069の「■回答:・・・[1]ログイン」から
69.「定義ファイル」に入っているVBAマクロ(入力チェックや案内)を良くする。
未完了。未完了のままVer0.1終了。
- http://d.hatena.ne.jp/kazpgm/20090920/1253460840の下のほう「追加:」から
68.functions.php中のunlinkを「file_exists」を見てから行う様にする。
2009/9/9 修正ずみ。
67.SQL、DB更新ロジックに項目日本語名コメントをつける。
2009/9/8 修正ずみ。
66.エラー項目に薄ピンク色をつける。
2009/7/21 修正ずみ。
- http://d.hatena.ne.jp/kazpgm/20090719/1248008060(これはPGMメンテナンスしづらいという理由でボツにした。)
- http://d.hatena.ne.jp/kazpgm/20090721/1248185976
65.ファイルダウンロード(でかいファイルを落とす)プログラムを作成する。
2009/7/11 作成ずみ。
64.日付項目をカレンダー選択できるようにする。
2009/7/4 修正ずみ。
2009/7/6 祝日(べた書き)に対応した。
2009/7/7 祝日をAjaxでサーバーからxml形式でとるようにした。
- http://d.hatena.ne.jp/kazpgm/20090704/1246735803
- http://d.hatena.ne.jp/kazpgm/20090706/1246912366
- http://d.hatena.ne.jp/kazpgm/20090707/1246982137
63.クロスサイトリクエストフォージェリ対策として、DB追加、更新、削除の画面でトークンチェックを行う。
2009/7/22修正ずみ。
- http://d.hatena.ne.jp/kazpgm/20090524/1243113458(7月22日に作り変えたのでこの日の内容はボツ)
- http://d.hatena.ne.jp/kazpgm/20090525/1243262315(7月22日に作り変えたのでこの日の内容はボツ)
- http://d.hatena.ne.jp/kazpgm/20090722/1248294483
- 7/22修正時にトークンチェック対象モードを'ins_do,upd_do,del_do' (DB新規、更新、削除)に限定した。
62.ファイルUPLOAD先を「/web/upload」(誰でも見れる)でなく「/.web/upload」(誰からも見れない)フォルダにもできるようにする。既存にある「項目チェック内容」列の”画像”、”ファイル”のほかに”秘密画像”、”秘密ファイル”を作る。(WEB画面上の画像(imgタグ)、ダウンロード(aタグ)も「/.web/upload」から表示する。)。
2009/05/06 修正ずみ。 <=TOOL更新_20090503、05、06参照。
- http://d.hatena.ne.jp/kazpgm/20090503/1241362256
- http://d.hatena.ne.jp/kazpgm/20090505/1241491748
- http://d.hatena.ne.jp/kazpgm/20090506/1241608013
- 2009/05/24さらに2009/05/03ブログに直接修正。(パス・トラバーサル脆弱性対応)
- 2009/07/12さらに2009/05/05ブログに直接修正。(パス・トラバーサル脆弱性対応)。「imageDsp.php」と「flDld.php」に「'\'を/に変更する。./はエラーにする。ファイル名チェック。ファイルがないときはエラーにする。」を追加した。
61.管理者側でかつ、削除日時がある場合、有効無効データを選択できるようにする。
修正画面で削除データを復活できるようにする。(今までは論理削除でも画面に表示できなかった。)
2009/04/01 修正ずみ。 <=TOOL更新_20090401参照
60.カート機能を作成する。
未完了。未完了のままVer0.1終了。
59.検索画面のリストを1レコード2行表示できるようにする。
2*10行などを選択できるようにした。
2009/01/14 修正ずみ。
2009/03/30 ユーザ側最新10件表示が2行になっていなかったのを修正した。
58.詳細ボタン押下時データが削除されていたときのエラー処理を追加する。
2009/01/14 修正ずみ。
57.パスワード作成関数を作成する。
makePassword()を作成した。
2009/01/06 修正ずみ。
56.シーケンス取得関数を作成する。
getDbSeq()を作成した。
2009/01/06 修正ずみ。
55.テーブルの項目属性を以下に限定する。
MySQLのとき
CHAR,VARCHAR,TEXT,DATE,BIGINT,DATETIME
2008/12/25 修正ずみ。
54.■検索のバグをお助けTOOLに反映する。
case 'list': // 一覧表示
editList();
を
case 'list': // 一覧表示
if (empty($err)) {
editList();
}
にする
2008/12/25 修正ずみ。
53.検索画面のリスト表示を直接編集する
未完了。未完了のままVer0.1終了。
52.複数レコード1画面登録画面を作成する。
未完了。未完了のままVer0.1終了。
51.ファイルUPLOAD、CSV出力のみのPGM作成
2009/07/17 修正ずみ。ただし、CSV出力のみのPGMは作成しないことにした。(検索画面でCSV出力しているので)
- http://d.hatena.ne.jp/kazpgm/20090714/1247603189
- http://d.hatena.ne.jp/kazpgm/20090715/1247676304
- http://d.hatena.ne.jp/kazpgm/20090716/1247768882
50.DBリレーションに対応する
2009/04/29から開発中。1〜5の個別は個々に記述した。
・50−1.画面上の項目入力値チェック、リレーションTBLからの値取得
未完了。未完了のままVer0.1終了。
・50−2.リレーションTBLのサブ画面作成および、サブ画面からの値取得。
・サブ画面に検索条件がなく、親画面から検索条件をもらう場合
・サブ画面に検索条件があり、親画面からも検索条件をもらう場合
未完了。未完了のままVer0.1終了。
・50−3.リレーションTBLからのプルダウン作成
2011/6/2 修正ずみ。
http://d.hatena.ne.jp/kazpgm/20110601/1306923634
2011/6/19 ajaxでDBデータを取る。修正ずみ。
http://d.hatena.ne.jp/kazpgm/20110609/1307577360
・50−4.親画面から子TBLサブ画面編集
2009/04/29から開発中。未完了。未完了のままVer0.1終了。
・50−5.レコード物理削除のときリレーションチェックを行う。
未完了。未完了のままVer0.1終了。
49.InnoDBに対応する。
・SQL
2009/01/06 修正ずみ。
・トランザクション処理
2009/01/06 修正ずみ。
48.プログラム名をテーブル名で作成しないようにできる機能を作る。
ユーザ側のHTML名にあわせるため。
- 2009/06/06決定:この修正はやらない。プログラム名は自動作成◎自動生成後自由に変更できるので。
- 2009/09/27再決定:方法を考えたので、この修正を行うようにする。 http://d.hatena.ne.jp/kazpgm/20090926/1253915069の『■回答:・・・。[2]プログラム名』により
未完了。未完了のままVer0.1終了。
47.管理者側のログイン画面自動作成◎自動生成のときSUPER管理者は削除できないようにするロジックも
作りこむようにする。
2008/12/25 修正ずみ。
46.ログオフも追加したい。かつセッション全クリアも行うようにする。
index.php
index_user.php
2008/12/25 修正ずみ。
45.画面上の半角、全角入力の日本語FEPを切り替える。
2008/10/12 修正済み
44.チェックボックスに全選択、全解除を追加した。かつチェックボックスの1行あたりの項目数を
L列に指定できるようにした。
2008/08/20 修正ずみ。
43.エクセルTOOL上の入力列を「全列」、「Admin」、「User1」、「User2」で選択するボタンを作る
2008/08/19 修正ずみ。
42.画面表示の項目名を指定できるようにした。(AQ列からAX列)
2008/08/19 修正ずみ。
41.欠番
40.エラーメッセージもエレメントにする。呼ぶときはエラー番号で呼び
内容は?を置換するようにする。
2009/06/06決定:この修正はやらない。共通エラーはChechUtilに持っているので。
39.「削除日時」項目は追加削除可能とする。
「削除日時」項目がない場合物理削除、ある場合論理削除とする。
2008/08/16 17:00修正ずみ。
38.「公開区分」による検索対象非対象判定や画面表示非表示の特殊ロジックを追加する。
2008/08/16 13:00修正ずみ。
37.ユーザ側の確認画面のときSESSIONに画面データを保存していたがHIDDDENに変更した。
2008/08/08修正した。
36.Excel定義のVBAでcurdir関数を使用しているが、thisworkbook.pathを使用するよう修正する。
2008/08/08 14:30修正した。
35.PKを画面から入力するタイプの登録画面で登録ボタン押下後、ディプリケートキー発生のとき
エラーとする。
”すでに登録されています。”と表示する。
2008/08/15 15:30修正した。
34.欠番
33.■.php\pear\DB\mysql.phpの以下functionのコメントをはずした。(EUC-JP版になっていた)
function escapeSimple($str)
{
if (function_exists('mysql_real_escape_string')) {
return @mysql_real_escape_string($str, $this->connection);
} else {
return @mysql_escape_string($str);
}
}
2008/08/08修正ずみ。
32.作成されるPGMをUTF-8にする。それにより使用するphpもUTF-8にする。
2008/08/02修正した。
31.htmlは「view」フォルダに移動する。includeパスに
「view」フォルダも追加するようにして読み込むようにする。
2008/10/10修正した
30.htmlの「require_once('・・・・.lbi');」は「require('・・・・.lbi');」にする。
2008/08/02修正した
29.csv出力のところの関数をもっとよいものにする。
未完了。未完了のままVer0.1終了。
28.ユーザ側の直近10件リスト出力に対応する。
SQLの検索条件を与える。
2008/07/31修正した
27.admin、userともにindex1.phpを自動作成◎自動生成するようにする。
2008/07/25修正した
26.ユーザ側に「詳細画面入力項目順」をつくり。登録、確認、完了ー>メール出してDB登録を追加する。
2008/07/25修正した
25.ユーザ側のリスト表示は追加更新系のロジックは取り除く。
2008/07/25修正した。
補足:更新可のときは更新ボタンを表示するようにしてある。
但しボタン押下後は追加更新プログラムが動く
24.ログを出したい。
2009/07/03 完了。DBエラーを含めて全エラーのログを出力した。 デバックログはやらないことにした。(デバックはprint_r()を使う)
23.エラーをハンドリングしたい。
2009/07/03修正した
22.カンマつき数値チェック:無条件でtrueを返しているfunctionを作成完にする。
2011/01/12『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の7.で修正。
21.コード値チェック:無条件でtrueを返しているfunctionを作成完にする。
2008/07/23修正した
20.文字列比較チェック:無条件でtrueを返しているfunctionを作成完にする。
2011/01/12『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の7.で修正。
19.日付FromToチェック:無条件でtrueを返しているfunctionを作成完にする。
2008/09/11修正した
18.日付チェック:無条件でtrueを返しているfunctionを作成完にする。
2008/09/11修正した
17.コード一覧表から作成する「elements.php」はelementsIdxで0(日本語),1(英語)を指定するためArray()にする。
2008/07/23修正した
16.シート名の先頭が”★”はDDLを作成しないようにする。
2008/07/22修正した
15.検索後のCSV。テーブル値そのままでなく、コード値表示でもできるように選べるようにした。
2008/07/22修正した
14.検索後の一覧表示に「№」欄を追加したりしなかったりできるようにする。
2008/07/22修正した
13.欠番
12.詳細画面の項目タイトル編集を見栄えのいいようにする。
「S列:項目名インデント」に
インデントを指定する。インデントはMAX=3とする。
インデント指定はデフォルト="1"。「・」で項目を区切る。
calspan=x rowspan=x 、インデントにより(width="18%" width="9%" width="6%")とする。
2008/07/27修正した
11.検索後のリストの項目に昇順降順の指定がほしい。
「V列:検索後表示項目順」の指定の中にA(ASC),D(DESC)(order初期状態)を1つだけ指定しよう。
その項目でソートする。
2008/07/22修正した
10.シーケンスの取得するタイミングを「C_SEQ_GET_TIMING = 前に取得/後で取得」に分ける。
2008/07/20修正した
9.ログインチェックができていない。
2008/08/07修正した
8.画像ファイルの登録ができていない。
2009/04/01現在修正済
7.検索のときチェックボックスに複数チェックしてもうまく検索できない。
<=できるようにする。
2008/08/21修正した
6.TELの表示で電話番号の”電話番号(半角数値とハイホン) ”を”入力例:045-999-9999”にする。
2008/07/20修正した2009/04/01現在エクセル定義に電話番号の例を記述できるようにしてある。
5.ラジオボタン、プルダウンボタンなどで必須項目のときは”未選択”を表示しないようにする。
2008/07/20修正した
4.郵便番号(nnn-nnnn)の書式、電話番号(半角数値とハイホン)の書式チェックが間違っている。
<=修正する。
2008/07/20修正した
3.欠番
2.HTMLの表示で”*文字チェックなし 25文字以内”の”文字チェックなし”部分は出さないようにする。
同じように”メールアドレスの書式 ”も出さないようにする。
2008/07/20修正した
1.検索後の一覧表示にキー情報が出ていないと「詳細」「変更」ボタン押下してもうまく表示されない。
<=SQLにPKEYは必須で追加する。
2008/07/20修正した
0.java版「お助けTOOL」から自動的に動くプログラムを作るにはどうしたらいいかを考えていた
・2008/04/01あたりから2008/07/01あたりまで
javaでの作成はあきらめてPHP自動作成◎自動生成を作るようにした。
・レンタルサーバでもphpなら動く。
・phpユーザが多い。
・phpのほうが柔軟。
・javaで提供するには強力なフレームが必要だが、納得いくものを作る自信がなかった。
−1.java版「お助けTOOL」
・2007/08/01あたりから2008/04/01あたりまで
java版「お助けTOOL」を作成した。これはjavaのフレームに
java版「お助けTOOL」で吐き出した項目ごとのプログラム部品をコピペするものだった。
ある人の一言「俺たちはコピペプログラマだ」からこう思った。
・コピペするものなら抵抗無く使ってもらえる。
・コピペならプログラム初心者でもできる。
・項目名や項目属性など人間が間違いやすい内容をクリアできるのでバグが出ない。
・まるで一人の人が作ったように出来上がる。
・なぜつくりはじめたか
あることをきっかけに思った:「人間が作れないなら機械に作れらせればいい」機械をつくってやろう。
■サイト:http://kazpgm.ddo.jp/