回答編集履歴

1

追記

2018/12/28 01:21

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -93,3 +93,141 @@
93
93
 
94
94
 
95
95
  ```
96
+
97
+
98
+
99
+ # 雛形コード
100
+
101
+
102
+
103
+ 私ならこういう風に作る という形の雛形を作りました。
104
+
105
+ それぞれ何をやっているか分からなければ調べてください。
106
+
107
+ 出来上がっていない段階では[エラー表示は常時On](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)にしてどのようなエラー(変数未定義など警告レベルのものも含む)がおきても確認し、対応するようにしてください。
108
+
109
+
110
+
111
+ ```php
112
+
113
+ <?php
114
+
115
+ ini_set('display_errors', "On");//エラー表示強制ON 開発終了したら削除またはコメントアウトする
116
+
117
+
118
+
119
+ $list = ""; //登録した情報表示用の変数初期化
120
+
121
+
122
+
123
+ //POST送信されたときのみ処理を行う
124
+
125
+ if($_SERVER['REQUEST_METHOD'] === 'POST'){
126
+
127
+ if(array_key_exists("mode", $_POST)){
128
+
129
+ $sendmode = $_POST["mode"];
130
+
131
+ switch($sendmode){
132
+
133
+ case "add"://登録
134
+
135
+ //必須項目など入力チェック処理
136
+
137
+
138
+
139
+ // 登録処理
140
+
141
+
142
+
143
+ break;
144
+
145
+ case "delete"://削除
146
+
147
+ //必須項目など入力チェック処理
148
+
149
+
150
+
151
+ // 削除処理
152
+
153
+ break;
154
+
155
+ default:
156
+
157
+ }
158
+
159
+ }
160
+
161
+ }
162
+
163
+
164
+
165
+ //取得処理 $listに追記していく
166
+
167
+
168
+
169
+ ?>
170
+
171
+ <!DOCTYPE html>
172
+
173
+ <html>
174
+
175
+ <head>
176
+
177
+ <meta charset="UTF-8">
178
+
179
+ <title>Insert title here</title>
180
+
181
+ </head>
182
+
183
+ <body>
184
+
185
+
186
+
187
+ </body>
188
+
189
+ </html>
190
+
191
+ <form method="post">
192
+
193
+ <input type="text" name="name" placeholder="名前"><br />
194
+
195
+ <input type="text" name="comment" placeholder="コメント"><br />
196
+
197
+ <button type="submit" name="mode" value="add">登録</button>
198
+
199
+ </form>
200
+
201
+ <form method="post">
202
+
203
+ <input type="text" name="delete" value="" placeholder="削除対象番号"><br />
204
+
205
+ <button type="submit" name="mode" value="delete">削除</button>
206
+
207
+ </form>
208
+
209
+ <?php echo $list?>
210
+
211
+ </body>
212
+
213
+ </html>
214
+
215
+ ```
216
+
217
+
218
+
219
+ 注意点:
220
+
221
+ 0. 登録処理や削除処理をしてからデータを取得すること。現在のコードだとdeleteのときしかデータ取得して内容に見受けられる。一緒にしない。
222
+
223
+ 0. 入力内容のチェックを行って必須項目や文字数オーバー(ここは仕様)のときはエラーメッセージを出すようにして登録処理・削除処理を行わないこと
224
+
225
+ nameとかcommentに<>って入ってたらどうする?対策を考えましょう
226
+
227
+ 0. 入力された情報を画面に出力する際、[HTMLエスケープ](http://php.net/manual/ja/function.htmlspecialchars.php)を行うこと
228
+
229
+
230
+
231
+ Qiitaに初心者向けの記事もあがっているので、そちらも参考にしてください。
232
+
233
+ - [【PHP初心者向け】セキュアな掲示板を最小構成から作る](https://qiita.com/mpyw/items/2c54d0ea95423bd88f60)