質問編集履歴

1

補足

2021/11/30 01:46

投稿

Question_php
Question_php

スコア0

test CHANGED
File without changes
test CHANGED
@@ -26,6 +26,8 @@
26
26
 
27
27
  ### 該当のソースコード
28
28
 
29
+ Reminder.php
30
+
29
31
 
30
32
 
31
33
  ```php
@@ -318,6 +320,148 @@
318
320
 
319
321
 
320
322
 
323
+ schedule.php (スケジュールを登録するためのphpです。問題の箇所とは無関係です)
324
+
325
+ ```
326
+
327
+ <?php
328
+
329
+ // 年月日を取得する
330
+
331
+ if (isset($_GET["ymd"])) {
332
+
333
+ // スケジュールの年月日を取得する
334
+
335
+ $ymd = basename($_GET["ymd"]);
336
+
337
+ $y = intval(substr($ymd, 0, 4));
338
+
339
+ $m = intval(substr($ymd, 4, 2));
340
+
341
+ $d = intval(substr($ymd, 6, 2));
342
+
343
+ $disp_ymd = "{$y}年{$m}月{$d}日のスケジュール";
344
+
345
+
346
+
347
+ // スケジュールデータを取得する
348
+
349
+ $file_name = "data/{$ymd}.txt";
350
+
351
+ if (file_exists($file_name)) {
352
+
353
+ $schedule = file_get_contents($file_name);
354
+
355
+ } else {
356
+
357
+ $schedule = "";
358
+
359
+ }
360
+
361
+ } else {
362
+
363
+ // カレンダー画面に強制移動する
364
+
365
+ header("Location: Reminder.php");
366
+
367
+ }
368
+
369
+
370
+
371
+ // スケジュールを更新する
372
+
373
+ if (isset($_POST["action"]) and $_POST["action"] == "登録する") {
374
+
375
+ $schedule = htmlspecialchars($_POST["schedule"], ENT_QUOTES, "UTF-8");
376
+
377
+
378
+
379
+ // スケジュールが入力されたか調べて処理を分岐
380
+
381
+ if (!empty($schedule)) {
382
+
383
+ // 入力された内容でスケジュールを更新
384
+
385
+ file_put_contents($file_name, $schedule);
386
+
387
+ } else {
388
+
389
+ // スケジュールが空の場合はファイルを削除
390
+
391
+ if (file_exists($file_name)) {
392
+
393
+ unlink($file_name);
394
+
395
+ }
396
+
397
+ }
398
+
399
+ // カレンダー画面に移動する
400
+
401
+ header("Location: Reminder.php");
402
+
403
+ }
404
+
405
+ ?>
406
+
407
+ <html>
408
+
409
+ <head>
410
+
411
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
412
+
413
+ <title>予定表</title>
414
+
415
+ </head>
416
+
417
+ <body>
418
+
419
+ <h1>予定表 登録画面</h1>
420
+
421
+ <form method="POST" action="">
422
+
423
+ <table>
424
+
425
+ <tr>
426
+
427
+ <td><?php echo $disp_ymd; ?></td>
428
+
429
+ </tr>
430
+
431
+ <tr>
432
+
433
+ <td>
434
+
435
+ <textarea rows="10" cols="50" name="schedule"><?php echo $schedule; ?></textarea>
436
+
437
+ </td>
438
+
439
+ </tr>
440
+
441
+ <tr>
442
+
443
+ <td>
444
+
445
+ <input type="submit" name="action" value="登録する">
446
+
447
+ <!-- 「戻る」ボタン -->
448
+
449
+ <input type="button" name="back" onClick="history.back()" value="戻る">
450
+
451
+ </td>
452
+
453
+ </tr>
454
+
455
+ </table>
456
+
457
+ </form>
458
+
459
+ </body>
460
+
461
+ </html>
462
+
463
+ ```
464
+
321
465
  ### 試したこと
322
466
 
323
467