我有点困在这里如何为服务器的当前日期编写代码并验证它们。
所以基本上在一个文件上是form.php,我必须用dd / mm / yy编写服务器当前日期的代码,这可以由用户编辑。日期应以表单格式显示,例如在Web浏览器上应显示日期:[23/9/2012]。
和另一个文件是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>
它在网络浏览器上显示的日期仅为日期:[日期]只是单词日期而不是日期。我已经被困了一个小时了。
答案 0 :(得分: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位数。
编辑:修复了二月的问题。
答案 1 :(得分:1)
尝试将其格式化为此类
<?php
$date = new DateTime();
echo $date->getTimestamp();
echo $date->format('Y-m-d H:i:s');
?>
答案 2 :(得分: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>
答案 3 :(得分: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>
您可以通过此链接了解验证日期 check date
答案 4 :(得分: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>
在这里,您将让用户在第一页加载时看到当前时间服务器,然后在之后看到编辑过的时间服务器。