2013-06-20 164 views
-2

我有一個窗體有兩個文本框,我在哪裏顯示月份日曆,就像在任何其他在線窗體中選擇日期一樣。用戶選擇日期。我希望用戶選擇一個等於或等於明天系統日期之後的日期。我正在比較日期,然後嘗試將其插入到具有兩列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"; 

} 
?> 
+2

什麼是確切的錯誤?你的php代碼中也有語法錯誤,請編輯它。 – Fracsi

+0

請注意,mysql_ *函數已被棄用。看看PDO或mysqli。 http://www.php.net/manual/en/book.pdo.php或http://www.php.net/manual/en/book.mysqli.php – Fracsi

+0

@Fracsi當你看看這個評論需要放棄對mysql_ * :) http://brightmeup.info/comment.html –

回答

0

更換

if(($_POST['date1']>$odate)||($_POST['date1]==$odate)&&($_POST['date1']!="")) 

與此

if(($_POST['date1']>$odate)||($_POST['date1']==$odate)&&($_POST['date1']!="")) 

您已經錯過了一個報價日期1,也嘗試像

$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_ *函數由於他們是depricated。相反使用的mysqli _ *函數或PDO聲明

0

獲取系統日期與function time()這樣的:$odate=time();和trasform $_POST[date]在許多這樣的:strtotime($_post[date])。在此之後,您可以這樣做:$_POST[date]>$odate。這樣你將有兩個數字進行比較。

1

您還使用的mysql_query一次兩次了一套$s,然後你做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))