###カレンダーを作りましたけど...
なぜページが真っ白ですか。エラーはどこですか、知りません
発生している問題・エラーメッセージ
カレンダーは出てこない。
該当のソースコード
php
1<?php 2ini_set('display_errors', 1 ); 3ini_set('error_reporting', E_ALL); 4 5// タイムゾーンを設定 6date_default_timezone_set('Asia/Tokyo'); 7 8// 前月・次月リンクが押された場合は、GETパラメーターから年月を取得 9if (isset($_GET['ym'])) { 10 echo 1; 11 $ym = $_GET['ym']; 12} else { 13 echo 2; 14 // 今月の年月を表示 15 $ym = new DateTime(); 16 $ym -> format('Y-m'); 17} 18 19// 今日の日付 20echo 3; 21$today = $ym -> format('Y-m-d'); 22 23// カレンダーのタイトルを作成 例)2017年7月 24echo 4; 25$html_title = $ym -> format('Y年n月'); 26var_dump($html_title); 27 28// 前月・次月の年月を取得 29echo 5; 30$prev =$ym -> modify('last months'); 31$next =$ym -> modify('next months'); 32var_dump($prev); 33var_dump($next); 34 35// 該当月の日数を取得 36echo 6; 37$day_count = $ym -> format('t'); 38 39// 1日が何曜日か 0:日 1:月 2:火 ... 6:土 40// 方法1:mktimeを使う 41echo 7; 42$youbi = $ym -> format('w'); 43 44// カレンダー作成の準備 45echo 8; 46$weeks = []; 47$week = ''; 48 49// 第1週目:空のセルを追加 50// 例)1日が水曜日だった場合、日曜日から火曜日の3つ分の空セルを追加する 51echo 9; 52$week .= str_repeat('<td></td>', $youbi); 53 54echo 10; 55for ( $day = 1; $day <= $day_count; $day++, $youbi++) { 56 57 // 2017-07-3 58 echo 11; 59 $yearmonth=$ym -> format('Y-m'); 60 $date = $yearmonth . '-' . $day; 61 62 echo 12; 63 if ($today == $date) { 64 echo 13; 65 // 今日の日付の場合は、class="today"をつける 66 $week .= '<td class="today">' . $day; 67 } else { 68 echo 14; 69 $week .= '<td>' . $day; 70 } 71 echo 15; 72 $week .= '</td>'; 73 74 // 週終わり、または、月終わりの場合 75 echo 16; 76 if ($youbi % 7 == 6 || $day == $day_count) { 77 echo 17; 78 79 if ($day == $day_count) { 80 echo 18; 81 // 月の最終日の場合、空セルを追加 82 // 例)最終日が木曜日の場合、金・土曜日の空セルを追加 83 $week .= str_repeat('<td></td>', 6 - ($youbi % 7)); 84 } 85 86 // week配列にtrを追加する 87 echo 19; 88 $weeks[] = '<tr>' . $week . '</tr>'; 89 90 // weekをリセット 91 echo 20; 92 $week = ''; 93 } 94} 95echo 21; 96var_dump($weeks); 97?> 98 99<!DOCTYPE HTML> 100<html> 101<head> 102<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 103 104<title>PHPカレンダー</title> 105 106<link rel="stylesheet" type="text/css" href="style.css"> 107</head> 108 109<body> 110 <div class="container"> 111 <h3><a href="?ym=<?php echo $prev; ?>"><</a> <?php echo $html_title; ?> <a href="?ym=<?php echo $next; ?>">></a></h3> 112 <table class="table table-bordered"> 113 <tr> 114 <th>日</th> 115 <th>月</th> 116 <th>火</th> 117 <th>水</th> 118 <th>木</th> 119 <th>金</th> 120 <th>土</th> 121 </tr> 122 <?php 123 foreach ($weeks as $week) { 124 echo $week; 125 } 126 ?> 127 </table> 128 </div> 129</body> 130</html> 131
試したこと
念のため、<var_dump>を使ってチェックしましたが、問題はどこか知りません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
なぜページが真っ白ですか。エラーはどこですか、知りません
>>知りません<<
コードはマークダウンのcode機能を利用してご提示ください。
https://teratail.com/help#about-markdown
回答2件
あなたの回答
tips
プレビュー