0

サーバーの現在の日付のコードを作成して検証する方法について、ここで少し立ち往生しています。

したがって、基本的には1つのファイルにform.phpがあり、サーバーの現在の日付のコードをdd/mm/yyに記述する必要があり、これはユーザーが編集できます。日付はフォーム形式で表示される必要があります。たとえば、Web ブラウザーでは [2012 年 9 月 23 日] と表示されます。

もう一方のファイルである process.php では、日付を検証する必要があります。

だから私のform.phpのために、これは私がこれまでに書いたものです:

<html>
<body>
 <?php
    if (isset ($_POST["date"])){
    $date = date("d/m/y"($_POST["date"]));
    echo $date;
    }
?>
<form action="form.php" method="POST">
Date: <input type="text" name="date" value="Date" />

</form>
</body>
</html>

日付の Web ブラウザに表示されるのは date:[date] だけです。日付ではなく日付という単語だけです。私はこれのために1時間立ち往生しています。

4

5 に答える 5

3

正規表現でこれを行うことができます:

    <?php
    if (isset($_POST['date']) && !empty($_POST['date'])) {
        $date = trim($_POST['date']);
    }

    $regex = '/^((([1-2][0-9])|([1-9]))/([2])/[0-9]{4})|((([1-2][0-9])|([1-9])|(3[0-1]))/((1[0-2])|([3-9])|([1]))/[0-9]{4})$/';
    if (preg_match($regex, $date)) {
        $disp_date = $date;

        //update the date in db
        $error = '';
    }
    else {
       $error = 'Invalid date format<br />';

       //get last date from db
       $disp_date = $date_from_db;
    }
    ?>
    <?=$error?>
    <form action="" method="POST">
        <input type="text" value="<?=$disp_date?>" name="date" />
        <input type="submit" value="Submit Date" />
    </form>

正規表現の仕組み: DD/MM/YYYY: DD は 1 ~ 31、MM は 1 ~ 12、YYYY は 4 桁の数値でなければなりません。

編集: 2 月の問題を修正しました。

于 2012-09-22T16:36:41.423 に答える
1

このようにフォーマットしてみてください

   <?php
      $date = new DateTime();
      echo $date->getTimestamp();
      echo $date->format('Y-m-d H:i:s');
    ?>
于 2012-09-22T16:46:11.000 に答える
0
<html>
<body>
<?php
   if(isset($_POST['date']) && strtotime($_POST['date'])){ # date validation
       $date = $_POST['date'];
   } else {
       $date = date('d/m/y');
   }        
?>
<form action="form.php" method="POST">
Date: <input type="text" name="date" value="<?php echo $date?>" />

</form>
</body>
</html>
于 2012-09-22T16:37:49.053 に答える
0

現在の日付を取得して、このように表示できます...

<html>
<body>
<?php
$today = date("j, n, Y");
?>
<form action="form.php" method="POST">
Date: <input type="text" name="date" value="<?php echo $today?>"/>
</form>
</body>
</html>

そして、このリンクチェック日から検証日を知ることができ ます

于 2012-09-22T16:39:58.800 に答える
0

次のようにプログラムを再配置する必要があります。

<html>
<body>
 <?php
    if (!isset ($_POST["date"])){
        $date = date("d/m/y");
    else {
        $date = $_POST["date"];
    }
?>
<form action="form.php" method="POST">
Date: <input type="text" name="date" value="<?php echo $date; ?>" />

</form>
</body>
</html>

ここでは、ユーザーが最初のページの読み込み時に現在のタイム サーバーを表示し、その後に編集されたサーバーを表示できるようにします。

于 2012-09-22T16:42:25.053 に答える