我在这里有一个小问题,我的输入日期显示为dd / mm / yyyy然而当我使用我的php获取此数据并做一个简单的回声来检查一切正常时,它会输出yyyy / mm / dd(向后)任何想法为什么会这样?
示例
输入:
日/月/年
2016年1月2日
输出:
YYYY / MM / DD
2016年2月1日
HTML
<form method="post" action="MyDoc.php" autocomplete="off">
<input type="date" name="date_1A5">
</form>
&#13;
PHP
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$risk_1A5 = $_POST['date_1A5'];
echo 'Risk_1A5: '.$risk_1A5.'<br>';
}
?>
更新
完整代码
<?php
ob_clean();session_start();
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == false) {
header("Location: index.php");
}
if (isset($_GET['logout'])){
session_destroy();
header("Location: index.php");
exit();
}
else{
if (isset($_GET['Username'])){
if (isset($_GET['Encryption'])){
$Username = $_GET['Username'];
$Encryption = $_GET['Encryption'];
if (is_dir("USERS/".$Username) === true) {
if($Encryption == file_get_contents("USERS/".$Username."/Encryption.txt")){
$NoOfDocs = file_get_contents("USERS/".$Username."/NoOfDocuments.txt");
}
else{
header("Location: 201Error.php");exit();
}
}
else{
header("Location: 201Error.php");exit();
}
}
}
}
$myFile=fopen("USERS/".$Username."/AllowedOnSettings.txt","w") or exit("Can’t open file!");
fwrite($myFile, 'no');
fclose($myFile);
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$risk_1A1 = $_POST['tb_1A1'];
$risk_1A2 = $_POST['tb_1A2'];
$risk_1A3 = $_POST['tb_1A3'];
$risk_1A4 = $_POST['tb_1A4'];
$risk_1A5 = $_POST['date_1A5'];
$risk_1A6 = $_POST['date_1A6'];
$output_date = date_parse_from_format("Y-m-d", $risk_1A5);
echo $risk_1A1;
echo $risk_1A2;
echo $risk_1A3;
echo $risk_1A4;
date('d/m/Y', $output_date);
echo $risk_1A6;
$risk_2A1 = $_POST['tb_2A1'];
$risk_2A2 = $_POST['tb_2A2'];
$risk_2A3 = $_POST['tb_2A3'];
$risk_2A4 = $_POST['tb_2A4'];
$risk_2A5 = $_POST['date_2A5'];
$risk_2A6 = $_POST['date_2A6'];
$risk_3A1 = $_POST['tb_3A1'];
$risk_3A2 = $_POST['tb_3A2'];
$risk_3A3 = $_POST['tb_3A3'];
$risk_3A4 = $_POST['tb_3A4'];
$risk_3A5 = $_POST['date_3A5'];
$risk_3A6 = $_POST['date_3A6'];
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A1.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_1A1);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A2.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_1A2);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A3.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_1A3);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A4.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_1A4);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A5.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_1A5);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A6.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_1A6);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A7.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_2A1);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A8.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_2A2);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A9.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_2A3);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A10.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_2A4);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A11.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_2A5);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A12.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_2A6);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A13.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_3A1);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A14.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_3A2);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A15.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_3A3);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A16.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_3A4);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A17.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_3A5);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/A18.txt","w") or exit("Can’t open file!");
fwrite($myFile, $risk_3A6);
fclose($myFile);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Risk Assessment</title>
<link href="CSS/boilerplate.css" rel="stylesheet" type="text/css">
<link href="CSS/master.css" rel="stylesheet" type="text/css">
<link href="CSS/nav.css" rel="stylesheet" type="text/css">
<link href="CSS/riskAssessment.css" rel="stylesheet" type="text/css">
<script src="JAVASCRIPT/respond.min.js"></script>
</head>
<body>
<div id="header">
<div id="headerTitle">
<p>Project Archive</p>
</div>
<div id="nav">
<ul>
<li><?php echo '<a href="Home.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Home</a>';?></li>
<li><?php echo'<a href="All.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">All</a>';?></li>
<li><?php echo'<a href="Quote.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Quote</a>';?></li>
<li><?php echo'<a href="Support.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Support</a>';?></li>
<li><?php echo'<a href="SettingsSecurity.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Settings</a>'?></li>
</ul>
</div>
</div>
<div id="search">
<p>Search All Documents...</p>
<form action=<?php echo '"RiskAssessmentDoc.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'"'; ?> method="post">
<input type="text" name="search" placeholder="search" class="tbSearch">
</form>
</div>
<?php echo '<a href="projectarchive.php?logout&isset=true&Username='.$Username.'&Encryption='.$Encryption.'">';?>
<div id="divLogout">
<table class="btnLogout">
<tr>
<td>Logout</td>
</tr>
</table>
</div>
</a>
<div id="docTitle">
<p>Risk Assessment</p>
</div>
<div id="docCategory">
<p>Health & Safety</p>
</div>
<div id="riskContent">
<div id="riskForm">
<div id="riskTop">
<div id="riskTitle">
<p>Risk Assessment</p>
</div>
<div id="riskDate">
<?php echo '<p>'.date("d/m/Y").'</p>' ?>
</div>
</div>
<form method="post" action=<?php echo '"RiskAssessmentDoc.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'"'; ?> autocomplete="off">
<div id="riskNo">
<p>Risk No.1</p>
</div>
<div id="riskQ1">
<p>What are the Hazards?</p>
</div>
<div id="riskA1">
<textarea name="tb_1A1" cols="1" rows="2"><?php echo $risk_1A1;?></textarea>
</div>
<div id="riskQ2">
<p>What are you already doing?</p>
</div>
<div id="riskA2">
<textarea name="tb_1A2" cols="1" rows="2"><?php echo $risk_1A2;?></textarea>
</div>
<div id="riskQ3">
<p>Do you need to do anything else to control the risk?</p>
</div>
<div id="riskA3">
<textarea name="tb_1A3" cols="1" rows="2"><?php echo $risk_1A3;?></textarea>
</div>
<div id="riskQ4">
<p>Action by who?</p>
</div>
<div id="riskA4">
<textarea name="tb_1A4" cols="1" rows="2"><?php echo $risk_1A4;?></textarea>
</div>
<div id="riskQ5">
<p>Action by when</p>
</div>
<div id="riskA5">
<input type="date" name="date_1A5">
</div>
<div id="riskQ6">
<p>Done</p>
</div>
<div id="riskA6">
<input type="date" name="date_1A6">
</div>
<div id="riskNo">
<p>Risk No.2</p>
</div>
<div id="riskQ1">
<p>What are the Hazards?</p>
</div>
<div id="riskA1">
<textarea name="tb_2A1" cols="1" rows="2"><?php echo $risk_2A1;?></textarea>
</div>
<div id="riskQ2">
<p>What are you already doing?</p>
</div>
<div id="riskA2">
<textarea name="tb_2A2" cols="1" rows="2"><?php echo $risk_2A2;?></textarea>
</div>
<div id="riskQ3">
<p>Do you need to do anything else to control the risk?</p>
</div>
<div id="riskA3">
<textarea name="tb_2A3" cols="1" rows="2"><?php echo $risk_2A3;?></textarea>
</div>
<div id="riskQ4">
<p>Action by who?</p>
</div>
<div id="riskA4">
<textarea name="tb_2A4" cols="1" rows="2"><?php echo $risk_2A4;?></textarea>
</div>
<div id="riskQ5">
<p>Action by when</p>
</div>
<div id="riskA5">
<input type="date" name="date_2A5">
</div>
<div id="riskQ6">
<p>Done</p>
</div>
<div id="riskA6">
<input type="date" name="date_2A6">
</div>
<div id="riskNo">
<p>Risk No.3</p>
</div>
<div id="riskQ1">
<p>What are the Hazards?</p>
</div>
<div id="riskA1">
<textarea name="tb_3A1" cols="1" rows="2"><?php echo $risk_3A1;?></textarea>
</div>
<div id="riskQ2">
<p>What are you already doing?</p>
</div>
<div id="riskA2">
<textarea name="tb_3A2" cols="1" rows="2"><?php echo $risk_3A2;?></textarea>
</div>
<div id="riskQ3">
<p>Do you need to do anything else to control the risk?</p>
</div>
<div id="riskA3">
<textarea name="tb_3A3" cols="1" rows="2"><?php echo $risk_3A3;?></textarea>
</div>
<div id="riskQ4">
<p>Action by who?</p>
</div>
<div id="riskA4">
<textarea name="tb_3A4" cols="1" rows="2"><?php echo $risk_3A4;?></textarea>
</div>
<div id="riskQ5">
<p>Action by when</p>
</div>
<div id="riskA5">
<input type="date" name="date_3A5">
</div>
<div id="riskQ6">
<p>Done</p>
</div>
<div id="riskA6">
<input type="date" name="date_3A6">
</div>
<div class="center" onclick="javascript:this.parentNode.submit();">
<span>Send</span>
</div>
</form>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
您可以执行以下操作,我在评论中对其进行了解释,您可以在以下代码中根据需要重新格式化日期,格式可能会有所不同,但可以根据需要更改输入格式和输出格式。
if (isset($_POST['date'])) {
// Get the date
$input = $_POST['date'];
// Create a DateTime object from the input
$date = DateTime::createFromFormat('Y-m-d', $input);
// Format it to your needs
$formatted = $date->format('d-m-Y');
// Echo it out
echo $formatted
}
答案 1 :(得分:1)
这是因为您正在使用type="date"
(https://www.w3.org/TR/html-markup/input.date.html),它应该以[{1}}格式返回日期(请将其读作yyyy-mm-dd
)。
你可以用另一种格式输入它,我认为它与浏览器语言环境有关,但它会以输出它的格式保存值。
您无法更改此行为(Is there any way to change input type="date" format?)。
如果你想以另一种格式显示它,你可以使用像
这样的东西在php端进行详细说明。Y-m-d
然后,您可以使用$output_date = date_parse_from_format("Y-m-d", $input_date);
显示正常的PHP date()
。
对不起,我的错字。 date('d/m/Y', $output_date)
为您提供了一个分割日期的数组。
更简单的解决方案:
用
解析它date_parse_from_format()
然后将其重新转换为带有
的字符串$output_date = date_create_from_format("Y-m-d", $risk_1A5);
示例输入
date_format($output_date, 'd/m/Y');
输出
print_r($date = date_create_from_format("Y-m-d", "2016-12-21"));
var_dump(date_format($date, 'Y-m-d'));
答案 2 :(得分:0)
这不是错误,日期的表示与它的值不同。
应用程序(浏览器)可以根据国家/操作系统/系统配置等以适当的方式呈现值。
这意味着用户可以看到他/她可能常见的格式的值。该格式可能与PHP转储的输出不同,后者在服务器上格式化。