2017-11-22 1 views
1

ユーザーが独自のdatetimeを選択できるようにフォームを作成しました。また、appendchildメソッドを使用して複数のdatetimeを持つこともできます。 ただし、ユーザーがdatetimeを選択してフォームを送信するたびに、データベースに1970-01-01 01:00:00と表示されます。続き は私のコードです:データベースにdatetimeが挿入され続ける1970-01-01 01:00:00に挿入された値の代わりに

$date = date('Y-m-d H:i:s', strtotime(filter_input(INPUT_POST, 'date[]'))); 

$sql1 = "INSERT INTO proposal(`date`, meeting_idmeeting, user_userid) 
      VALUES ('$date', $id, 1);"; 

これは、HTMLコードです:

    <div class="form-group"> 
         <label class="col-md-2 control-label" for="date">Date</label> 
         <div class="col-sm-8" id="date2"> 
          <input type="datetime-local" name="date[]" class="form-control" id="date"/> 
          <span class="error"></span> 
         </div> 
        </div> 

誰が私は何が悪かったのか知っていることはできますか?

+1

$ dateが実際に挿入できる日付文字列を保持していることを確認します。挿入前に 'var_dump($ date)'を実行してください。または、デバッガを使用します。そして準備されたステートメントとSQLインジェクションについて学んでください。 – Gordon

+0

なぜあなたは 'input type =" datetime-local "'を使用していますか?多くのjavascriptのdatepickerライブラリが利用可能な場合は?? –

答えて

0

あなたは配列の日付をとっています。しかし、あなたはデートだけを試みています。試してみてください。

$dates = date('Y-m-d H:i:s', strtotime(filter_input(INPUT_POST, 'date[]'))); 

foreach($dates as $date) { 
    //exec insert query.... 
} 

ちょうど日付を挿入する場合はこれを試してください。

$sql1 = "INSERT INTO proposal(`date`, meeting_idmeeting, user_userid) 
      VALUES ('" .$date[0] . "', $id, 1);"; 
関連する問題