[英]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.