【发布时间】:2016-07-13 01:42:04
【问题描述】:
我有一个网站,您可以在其中上传新闻报道。新闻上传后,您可以对其进行编辑。问题是当您编辑 DATE 表单时,默认情况下它会自动将其显示为“0000-00-00”。
因此,当我在日期表单上输入“blacklivesmatter”时,它应该会显示一个 JavaScript 错误,指出“日期应仅以 YEAR-MONTH-DAY 格式输入”
这是我认为错误代码的样子:
echo "<script language='javascript'> alert('Date should be entered with YEAR-MONTH-DAY format only'); window.location='editnews.php'; </script>";
这是 PHP 页面的代码:
<?php
if(isset($_GET['id']))
{
$id = $_GET['id'];
$query = mysqli_query($con,"select * from news where ID = '$id'");
$re = mysqli_fetch_array($query);
}
?>
<form method="post" action="editnews_action.php">
<h3><b><u>Title:</b><input type="text" name="title" value="<?php echo $re['Title']; ?>"/><input type="hidden" name="id" value="<?php echo $re['ID']; ?>"/></h3>
<h3><b><u>Detail:</b><input type="text" name="desc" value="<?php echo $re['story']; ?>"/></h3>
<h3><b><u>Date:</b><input type="text" name="date" value="<?php echo $re['DATE']; ?>"/></h3>
<center>
<br>
<input type="submit" value="Submit" name="submit">
</form>
这里是操作页面:
<?php require 'connect.php'; ?>
<?php
session_start();
if(isset($_POST['submit'])) {
$id = $_POST['id'];
$title=$_POST['title'];
$date= $_POST['date'];
$story=$_POST['desc'];
$q = mysqli_query($con,"update news set Title = '$title', story = '$story', DATE = '$date' where ID = '$id'");
if($q)
{
header("Location: adminside.php");
}
}
?>
我应该把 javascript 错误放在哪里?
【问题讨论】:
-
你可以很容易地在互联网上找到一个正则表达式,它可以满足你想要的任何格式。如果在字段更改时运行该正则表达式并且它无效,则您可以向用户显示警报或其他方式。更好的选择是使用来自 jquery-ui 之类的日期选择器,其中已经包含日期验证。 jqueryui.com/datepicker
-
有几种方法可以做到这一点,取决于你想怎么做,可以通过,javascript:the-art-of-web.com/javascript/validate-date,php:php.net/manual/en/function.checkdate.php还有更多:)
标签: javascript php html