【PHP】フォームで送信される「年月」が取得できない

  • このエントリーをはてなブックマークに追加

フォームの input タグで、type を month (年月)にした場合に、送信データが正しく取得できないという現象に遭遇しました。

Apache のアクセスログまで確認して、ようやく原因が特定できましたので、メモしておきます。

原因は「 Safari 」でした…

一般的に、フォームで送信される日付は「ハイフン区切り」です。

PHPで処理する場合、ハイフン区切りを strtotime 関数で Unix タイムスタンプに変換してから、諸々の処理を行うという流れが一般的ではないでしょうか。

通常の年月日を取得する場合、Safari でも「ハイフン区切り」で送信されます。

これが「年月」になると、なぜか「カンマ区切り」で送信されていました。

つまり、カンマをハイフンに置き換えることで正常に取得できるようになります。

勘弁してください…

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*