簡體   English   中英

從輸入類型=“日期”值到Php變量

[英]FROM input type=“date” value TO a Php variable

我想將的值“保存”到一個php變量中,因此,如果在“日期框”中有類似11/02/2016的內容 ,我想將此值保存在$date ,則可以執行echo $date; ;。 並再次查看11/02/2016 日期選擇器很重要

我嘗試了兩種方法:

1。

<head>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <!-- Today date -->
    <input type="date" name="today" value="<?php echo date("Y-m-d");?>">
</form>
</body>

<?php
    $date = date('Y-m-d', strtotime($_POST['today']));
    echo "Today is $date";
?>

輸出:今天是1970-01-01

2。

<head>
<script>
function myFunction() {
    var date = document.getElementById("today").value;
    document.getElementById("here").innerHTML = date;
}
</script>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <input type="date" name="today" value="<?php echo date("Y-m-d");?>">
    <input type="hidden" id="here" name="this">
</form>
</body>

<?php

    $data = $_POST['this']));
    echo "Today is $data";

?>

輸出:今天是

有人可以幫我嗎?

提前致謝。

您的表單中缺少Submit元素,這意味着表單未處理任何內容。因此,請使用Submit按鈕來處理表單。請嘗試以下代碼。

<head>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="date" name="today" value="<?php echo date("Y-m-d");?>">
<input type="submit" name="a">
</form>
</body>
if(isset($_POST['a']))
{
  $date = date('Y-m-d', strtotime($_POST['today']));
  echo "Today is $date";
}

使用內置函數DateTime,您可以執行

date_default_timezone_set("Europe/London"); //Set your timezone
$dateNow = new DateTime;

echo $dateNow->format('d/m/Y'); // Will echo 11/02/2016

http://php.net/manual/en/timezones.php以獲得支持的時區列表

編輯:包括您的HTML:

<?php 
    date_default_timezone_set("Europe/London"); //Set your timezone
    $date = new DateTime;
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <!-- today date-->
    <input type="date" name="today" value="<?php echo $date->format('Y-m-d'); ?>">
    <input type="submit" name="test" value="test">
</form>

然后稍后:

<?php
    $datePOST = new DateTime($_POST['today']);
    echo $datePOST->format('d/m/Y');
?>

我希望這是您想要的。

您沒有Submit元素,並且在輸出中具有強制為null / 0的強制。 第一個結果是您從不提交任何內容。 因此,您的表單實際上不會處理任何事情,在實際提交之前,表單不會執行任何操作。

您的第二個錯誤導致代碼始終輸出Unix Epoch,這是int結果為0的時間戳。 您需要為使用的任何服務器打開錯誤。 關閉錯誤或抑制錯誤似乎是一個好主意,但它導致許多易於修復的問題仍然無法診斷。

此代碼應在PHP 5.4及更高版本上運行。

<?php
     $self = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : '#';
     $now = date("Y-m-d");
     $today = isset($_POST['today']) ? $_POST['today'] : (new DateTime)->format('Y-m-d');
     $date = date('Y-m-d', strtotime($today));
     $formattedResult = "Today is $date";
?>
    <form action="<?= $self; ?>" method="POST">

    <input type="date" name="today" value="<?= $today;?>">
    <button type='submit' >
        You must submit the form to process it
        </button>
</form>
<?= $formattedResult;?>
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM