2017-07-01 6 views
-1

私のデータベースに何かが送信されているときに、私は日付をつけようとしています。これは動作しておらず、エラーもなく、データベースには何も置かれません。私は身体を持っている隠し入力がデータベースに渡されない

...その後

<input type="hidden" id="thedate" name="DateModified"> 
<script type="text/javascript"> 
function getDate() 
{  
var date = new Date(); 
var day = date.getDate(); 
var month = date.getMonth() + 1; 
var year = date.getFullYear(); 

if (month < 10) month = "0" + month; 
if (day < 10) day = "0" + day; 

var today = month + "/" + day+ "/" + year; 

document.getElementById('thedate').value = today; 
} 
</script> 

、私が持っている</body>前ページの下部にある...

<script type="text/javascript"> 
GetDate(); 
</script> 

フォームがある...

<form method="POST" action="blabla.asp"> 

私のフォームにあるものはすべて、日付ではなくデータベースに送られます。

+0

これにはいくつか問題があります。まず、あなたは時間帯の違いを尊重していません。つまり、将来/過去から人を挿入する可能性があります。これがあなたにとって重要なのかどうかはわかりませんが、簡単なDate()。toISOString()が必要です。これは必要な情報をすべて保持しています。もう一つは、代わりにあなたのサブミットボタンにこの関数を追加することができ、 'action =' – JonLuca

+0

の代わりにajaxを呼び出して引数を渡すだけです。どのrdmsを使用していますか?また、あなたのSQLクエリを共有し、完全な 'フォーム'コードを共有する必要があります – Ravi

+2

Javascriptは大文字と小文字が区別されるので、GetDate(); なぜそれが呼び出されていない –

答えて

0

次のことを試してみてください。

  • 変更のGetDate()のgetDate()
  • には、サーバーの代わりに、 "thedate" フィールドに "DateModified" を読んでいることを確認します。
  • 私はまた、クライアントのブラウザからサーバーでタイムスタンプ(UTC)を取得することをお勧めします。誰でも郵便配達員などのツールを使用してURLに投稿し、偽のタイムスタンプで送信することができます。
0

下のスクリプトを次のように変更してください。

<script type="text/javascript"> 
    GetDate(); // wrong 
    getDate(); // right 
</script> 
+0

ありがとうVasi、それでした。愚かな大文字小文字の区別! ! ! – Jim

+0

@Jimこの回答が役に立ちましたら、アップホートまたは受け入れることをお勧めします。さらに、以下のkebinの答えを見てください。彼は5分早くこれに答えました。 – jAC

関連する問題