前提・実現したいこと
時刻選択するフォームを作成中です。
フォームにアクセスした段階で現在時刻(5分刻み)に近い選択肢を選択中にしたいため、
下記サイトに掲載されているスクリプトの「現在の時間を選択リストの初期値に反映する」を試しました。
参考サイト
https://codezine.jp/article/detail/33
ところが、PHP7系ではシステムログ(apache error_log)にNotieceが毎回出力されてしまい、困っています。
なんとかログ出力レベルを変えずに回避する方法はないものでしょうか?
回避方法をご存知の方、どうかお知恵を拝借させてください。
よろしくお願いいたします。
発生している問題・エラーメッセージ
システムログ PHP Notice: A non well formed numeric value encountered in /var/www/(vhost)/index.php on line ..., referer: ...
該当のソースコード
<select name="time_start_time" class="date_select"> <? $t = strtotime('00:00'); $step = 5; $start = null; if(filter_input(INPUT_POST,'time_start_time')){ for($i=0; $i<5*12*24; $i+=$step){ $dispTime = date('H:i', strtotime("+{$i} minutes", $t)); $start .= '<option value="'.$dispTime.'"'; if(filter_input(INPUT_POST,'time_start_time')==$dispTime) $start .= ' selected'; $start .= '>'.$dispTime.'</option>'.PHP_EOL; } }else{ for($i=0; $i<5*12*24; $i+=$step){ $dispTime = date('H:i', strtotime("+{$i} minutes", $t)); $now = date('H:i'); $start .= '<option'; // エラーログの該当箇所行↓ if($now >= $dispTime and $dispTime + $step > $now) $start .= ' selected'; $start .= ' value="'.$dispTime.'">'.$dispTime.'</option>'.PHP_EOL; } } echo $start; ?> </select>
回答3件
あなたの回答
tips
プレビュー