PHP での DatePicker の操作

Olorunfemi Akinlua 2023年1月30日
  1. PHP 内で strtotime() および DateTime() を使用して日付を作成する
  2. Essential JS for PHP を使って DatePicker 機能を利用する
PHP での DatePicker の操作

サイト内のフォームに入力する場合、DatePicker を使用して日付を選択する必要がある場合があります。たとえば、生年月日やコース修了日などです。

これを行うには、HTML と JavaScript を使用できます。ただし、日付を使用するには、ユーザーがサーバー側で選択した日付を比較する必要があります。

クライアント側で PHP を使用することはできませんが、サーバー側で DatePicker 値を比較することはできます。この記事では、2つの関数を使用して、クライアント側の DatePicker から取得した値と DatePickers の PHP ライブラリを比較します。

PHP 内で strtotime() および DateTime() を使用して日付を作成する

JS DatePicker を使用すると、ユーザーが選択した日付の値が文字列に格納される可能性が高くなります。strtotime() 関数を使用して、適切に使用できるようにします。

この例では、ユーザーの時刻をベースラインの日付と比較して、ユーザーが 18 歳を超えているかどうかを知ることができます。

コード:

<html>
  <head>
    <title>PHP Test</title>
  </head>
  <body>
    <?php

    function above_18($arg) {
      $baseline_date = strtotime("2004-03-26");
      $users_date = strtotime($arg);

      if ($user_date < $baseline_date) {
          return "You are below the age of 18.";
      } else {
        return "You are above the age of 18. Continue with your registration process";
      }
    }

    // Obtain the date of birth of user
    // and place as the argument for the above_18() function
    $notification = above_18("2007-10-29");
    print_r($notification);

    ?>
  </body>
</html>

出力:

You are below the age of 18.

次に、DateTime() メソッドを使用して同じ結果を達成しましょう。ここで、DatePicker の値はサーバー側の値とは異なります。

コード:

<html>
  <head>
    <title>PHP Test</title>
  </head>
  <body>
    <?php

    function above_18($arg) {
      $baseline_date = new DateTime("2004-03-26");
      $users_date = new DateTime($arg);

      if ($user_date < $baseline_date) {
          return "You are below the age of 18.";
      } else {
        return "You are above the age of 18. Continue with your registration process";
      }
    }

    // Obtain the date of birth of user
    // and place as the argument for the above_18() function
    $notification = above_18("07-10-29");
    print_r($notification);
    ?>
  </body>
</html>

出力:

You are below the age of 18.

Essential JS for PHP を使って DatePicker 機能を利用する

JS DatePicker 値を比較するだけでなく、Essential JS for PHPというサードパーティライブラリを使用して、PHP DatePicker を作成できます。

次の例では、EJ 名前空間から PHP ラッパークラスを呼び出して PHP DatePicker コントロールを作成し、minDate メソッドと maxDate メソッドを使用して最小日付と最大日付を設定します。

コード:

<?php
        $date = new EJ\DatePicker("datePicker");
        echo $date->value(new DateTime())->
                minDate(new DateTime("11/1/2016"))->
                maxDate(new DateTime("11/24/2016"))->
                render();
?>

出力:

Essential JS for PHP ライブラリを使用した Datepicker

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

関連記事 - PHP Date