2013-12-10 33 views
-1

我有一個名爲「dateAdvance」的數據庫字段,其中包含「date」的類型。從datepicker使用php獲取數據庫的日期

`dateAdvance` date NOT NULL, 

在我的HTML我有貼有一個jQuery的日期選擇器輸入字段,因此當用戶按下輸入欄會出現一個日期選擇器,你可以選擇一個日期。日期將在輸入字段中,並且它是必須存儲在數據庫中的日期。

<dl> 
    <dt><label for="advancePayment">Acontobetaling:</label></dt> 
    <dd><input type="text" name="advancePayment"/></dd> 
    <dd><input type="text" name="dateAdvance" class="datepicker"placeholder="Vælge dato"></dd> 
</dl> 

我使用PHP來保存數據:

$dateAdvance=$_POST['dateAdvance']; 
mysql_query("INSERT INTO creatUser(dateAdvance) 
    VALUES('$dateAdvance')"); 

希望有一些誰可以幫我。

+1

你可以切出你的問題的99%,以1分的調試。在執行之前打印您的查詢。使用mysql_error()。在確認其完成工作併發送日期到php後,擺脫所有前端的東西。即$ dateAdvance有一些東西。將所有這些都清理乾淨,並從現代數據庫api開始,並閱讀有關安全性的內容。 https://www.owasp.org/index.php/PHP_Top_5#P3:_SQL_Injection –

+0

Uff,這是一個混亂的代碼...萬歲的SQL注入! – shadyyx

+0

我知道這是,我只是想學習,沒有人教我。所以,忍耐着我,一定是開始的地方。 – user3069468

回答

1
$dateAdvance=$_POST['total']; 
$date = date('Y-m-d', strtotime($_POST['dateAdvance'])); 


in mysql_query in place of $dateAdvance write $date 
+0

爲什麼要投票??? – user7789076

+0

如果你沒有理由告訴那麼不給downvote簡單 – user7789076

+0

我可以說你有一個「t」在dateAdvancet的結尾,但我沒有,所以我不能在我有一個不同的地方。請告訴我,如果還有別的東西我沒有看到。 – user3069468

1
  1. 使用過時mysql_*功能。
  2. SQL注入(沒有輸入數據逃逸)的真正高水平

雖然你沒有告訴我們您正在使用也沒有哪日期格式併爲您設置顯示哪種類型的日期選擇器的,這裏的例子,如何得到的日期格式存儲到MySQL數據庫的date列:

$date = date('Y-m-d', strtotime($_POST['dateAdvance'])); 

現在,請,谷歌和閱讀一些關於PHP PDO或PHP mysqli_*功能。我會用(真實)準備好的語句去參加PDO。

編輯:您有一個錯誤在你的PHP代碼:

$dateAdvance=$_POST['total']; 
$date = date('Y-m-d', strtotime($_POST['dateAdvance'])); 

應該

$total=$_POST['total']; 
$dateAdvance = date('Y-m-d', strtotime($_POST['dateAdvance'])); 
+0

這是我寫的代碼爲datapicker:$(「.datepicker」).datepicker( {dateFormat:「dd-mm-yy」}); – user3069468

+0

好的,所以它是jquery-ui datepicker,格式是DD-MM-YY。如果你在我的答案中使用了上面的代碼,你應該可以將它存儲到DB'date'類型的列中。 – shadyyx

+0

它沒有幫助,它仍然沒有保存日期,我越來越在數據庫中的0123「 – user3069468

相關問題