我有一个带有两个文本框的表单,我在其中显示月份日历,就像在任何其他在线表单中一样,以选择日期。用户选择日期。我希望用户选择一个等于系统日期或之后的日期,就像明天一样。我正在比较日期,然后尝试将其插入到具有两列opening_date和结束日期的数据库中。我甚至不希望文本框留空。我有以下代码,但没有成功。
<?php
mysql_select_db("trials");
if(isset($_POST['next']))
{
$odate=date("Y-m-d");//system date
echo $odate;
if(($_POST['date1']>$odate)||($_POST['date1']==$odate)&&($_POST['date1']!=""))
{
$s=mysql_query("insert into registration_date (opening_date, closing_date) values('$_POST[date1]','$_POST[date2]')");
echo $s;
if(mysql_query($s))
{
echo "successful";
}
else echo "error".mysql_error();
}
else
echo "Enter A Valid Date";
}
?>
答案 0 :(得分:1)
您还在$s
集合中使用了两次mysql_query,然后在mysql_query($s)
之后执行mysql_query(mysql_query("sql"))
,这有效地执行了$s=mysql_query("insert into registration_date (opening_date, closing_date) values('$_POST[date1]','$_POST[date2]')");
echo $s;
if(mysql_query($s))
{{1}}
答案 1 :(得分:0)
替换
if(($_POST['date1']>$odate)||($_POST['date1]==$odate)&&($_POST['date1']!=""))
用这个
if(($_POST['date1']>$odate)||($_POST['date1']==$odate)&&($_POST['date1']!=""))
你错过了date1的一个引用,也尝试了
$open_date = $_POST['date1'];
$close_date = $_POST['date2'];
$s=mysql_query("INSERT INTO registration_date (opening_date, closing_date)
VALUES ('$open_date','$close_date')");
并尝试避免使用mysql_ *函数,因为它们已被删除。而是使用 mysqli _ *函数或 PDO 语句
答案 2 :(得分:0)
获取function time()
这样的系统日期:$odate=time();
并将$_POST[date]
转换为如下数字:strtotime($_post[date])
。在此之后,您可以执行此操作:$_POST[date]>$odate
。通过这种方式,您将有两个数字进行比较。