回答編集履歴

4

修正

2019/09/10 01:33

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- 下記はIDEあるEclipseの例。
11
+ 下記はIDEあるEclipseの例。
12
12
 
13
13
 
14
14
 

3

修正

2019/09/10 01:33

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -190,7 +190,7 @@
190
190
 
191
191
  <?php
192
192
 
193
- //入力内容取得のための設定配列
193
+ //入力内容取得・入力コントロールHTML生成のための設定配列
194
194
 
195
195
  $list = array(
196
196
 

2

修正

2019/09/10 00:48

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -156,6 +156,8 @@
156
156
 
157
157
  あと、各所で書かれているコメントがほぼ意味を成していません。
158
158
 
159
+ 「これ」とか「あれ」とかでは後から読んだ際に理解できません。
160
+
159
161
  無駄なコメント・冗長なコメント・コードと合っていないものも見受けられます。
160
162
 
161
163
  コードが長くなればそれだけ読むのがしんどくなります。
@@ -176,78 +178,154 @@
176
178
 
177
179
  ---------------------
178
180
 
179
- 軽くヒント:
181
+ 軽くヒント:コメントの書き方
180
-
181
-
182
-
182
+
183
+
184
+
183
- 下記冗長記述と思す。
185
+ 要件分からないが、例として
186
+
187
+ ※コードフォーマットをかけてコメントを書き直しただけです。
184
188
 
185
189
  ```php
186
190
 
191
+ <?php
192
+
193
+ //入力内容取得のための設定配列
194
+
195
+ $list = array(
196
+
197
+ array(
198
+
199
+ 'to'=>'46.txt',
200
+
201
+ 'from'=>'23.txt',
202
+
203
+ 'name'=>'inp_01',
204
+
205
+ 'disp'=>'クーピー',
206
+
207
+ 'qty'=>0
208
+
209
+ ),
210
+
211
+ );
212
+
213
+
214
+
215
+ //フィルターOKのもののみ保管する配列
216
+
217
+ $values = array();
218
+
219
+ foreach($list as $key=>$item) {
220
+
221
+ $options=array('options'=>array('min_range'=>0, 'max_range'=>9));
222
+
223
+
224
+
225
+ // POST値を整数型 最小0,最大9でチェック
226
+
227
+ $value = filter_input(INPUT_POST, $item['name'], FILTER_VALIDATE_INT, $options);
228
+
229
+
230
+
231
+ //フィルターNGの場合は次へ
232
+
187
- if (($value === NULL) or ($value === FALSE)) {
233
+ if (($value === NULL) or ($value === FALSE)) {
234
+
188
-
235
+ continue;
236
+
189
-
237
+ }
238
+
239
+ }
240
+
241
+ //フィルターOKのもののみ保管
242
+
243
+ $values[$key] = $value;
244
+
245
+
246
+
247
+ $field = '';
248
+
249
+ foreach ($list as $key=>$item) {
250
+
251
+ //空行のためスキップ
252
+
253
+ if ($item['qty'] == 0) {
254
+
255
+ continue;
256
+
257
+ }
258
+
259
+
260
+
261
+ //各入力コントロールのHTML
262
+
263
+ $field .= <<<HTML
264
+
265
+ <div class="field">
266
+
267
+ <div class="item">
268
+
269
+ <span class="name">{$item['disp']}</span>:<span class="number">{$item['qty']}</span>
270
+
271
+ </div>
272
+
273
+ <div class="inputField">
274
+
275
+ <input type="text" name="{$item['name']}" value="{$values[$key]}">
276
+
277
+ </div>
278
+
279
+ HTML;
280
+
281
+
282
+
283
+ //メインHTML
284
+
285
+ ?>
286
+
287
+ <!DOCTYPE html>
288
+
289
+ <html lang="ja">
290
+
291
+ <head>
292
+
293
+ <meta charset="UTF-8">
294
+
295
+ <title>必要な物を</title>
296
+
297
+ </head>
298
+
299
+ <body>
300
+
301
+ <?= count($msg) > 0 ? implode('', $msg) . "備品のナンバーを書き込みました。 <hr>"
302
+
303
+ '' ?>
304
+
305
+ <?=$msg;?>
306
+
307
+ <div class="form">
308
+
309
+ <form action="number.php" method="post">
310
+
311
+ <?=$filed:?>
312
+
313
+ <input type="submit" name="btnSubmit" value="送信">
314
+
315
+ </form>
316
+
317
+ </div>
318
+
319
+ </body>
320
+
321
+ </html>
190
322
 
191
323
  ```
192
324
 
193
325
 
194
326
 
195
- ```php
196
-
197
- $a = NULL;
198
-
199
- $b = false;
200
-
201
-
202
-
203
- var_dump(!($a));
327
+ 明らかに次のSyntaxが出そうなコードですけどそこまでやってたらキリがないので、
204
-
205
- var_dump(!($b));
328
+
206
-
207
- /**
208
-
209
- bool(true)
210
-
211
- bool(true)
212
-
213
- **/
214
-
215
- ```
216
-
217
-
218
-
219
- つまりこれだけでいい
220
-
221
- ```php
222
-
223
- if (!$value) {
329
+ あとはがんばってください。
224
-
225
- ```
330
+
226
-
227
- > [PHPマニュアル:論理型](https://www.php.net/manual/ja/language.types.boolean.php)
228
-
229
- boolean 変換する場合、次の値は FALSE とみなされます。
331
+ エラー読めるようなったらりあえず初心者から少しだけ進みます。
230
-
231
- **boolean の FALSE**
232
-
233
- integer の 0 (ゼロ)
234
-
235
- float の 0.0 (ゼロ)
236
-
237
- 空の文字列、 および文字列の "0"
238
-
239
- 要素の数がゼロである 配列
240
-
241
- **特別な値 NULL (値がセットされていない変数を含む)**
242
-
243
- 空のタグから作成された SimpleXML オブジェクト
244
-
245
-
246
-
247
- continueまで含めばもっと短く書ける
248
-
249
- ```php
250
-
251
- if(!$v) continue;
252
-
253
- ```

1

修正

2019/09/10 00:46

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -174,7 +174,7 @@
174
174
 
175
175
 
176
176
 
177
-
177
+ ---------------------
178
178
 
179
179
  軽くヒント:
180
180