我在用户选择日期的表单中有一个字段。在尝试使表单适合所有浏览器时(因为IE和Firefox不支持HTML5 type =“date”输入标记功能)我使用的是jQuery .datepicker()函数。
.datepicker()函数的实现如下:
$(document).ready(function(){
$("#datepicker").datepicker({
dateFormat: "mm-dd-yy"
});
});
正在回显正确的日期格式(例如,02-16-2015),之前类型=“日期”输入框正在返回。但是,当我使用我的PHP向数据库表中添加一行时,它会正确添加所有内容,但日期为00-00-0000。我试图添加日期的列是“DATE”类型。
我的php如下:
function add_QA($Qtxt, $Atxt, $Date){
require 'config.php';
//First connect to DB using PDO
try {
$conn = new PDO('mysql:host=localhost;dbname=ExamServer', $config['DB_USERNAME'], $config['DB_PASSWORD']);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Prepare and execute statment
$sql = $conn->prepare("INSERT INTO `ExamServer`.`QA_Data` (`QText`, `AText`, `Expiry`) VALUES (:qtxt, :atxt, :expdate)");
$sql->execute(array('qtxt' => $Qtxt, 'atxt' => $Atxt, 'expdate' => $Date));
} catch (PDOException $e){
echo 'ERROR: '.$e->getMessage();
}
}
该函数在HTML中被调用为:
<form action="./questionGenerate.php" method="POST" enctype="multipart/form-data">
<label for="datepicker">Set the deadline for these questions (set this once per login session):</label></br>
<input name="datepicker" id="datepicker" placeholder="dd/mm/yyyy" required > </br>
<input id="saveButton" class="bt" src="../img/saveDate.png" type="image" >
</form>
</p>
</br></br>
<p>
<form id="form" action="./questionGenerate.php" method="POST" enctype="multipart/form-data">
<!-- Input -->
<label for="QuestionBox">Enter the text for your question:</label>/br>
<textarea name="QuestionBox" id="QuestionBox" placeholder="Question" rows="5" cols="60" autofocus required ></textarea><br>
<label for="AnswerBox">Enter the text for your expected answer:</label></br>
<textarea name="AnswerBox" id="AnswerBox" placeholder="Expected Answer" rows="5" cols="60" required ></textarea><br>
<!-- Buttons -->
<input id="addButton" class="bt" src="../img/addButton.png" type="image" >
<a href="./removeQ.php"><img class="bt" src="../img/rmLButton.png"></a>
</form>
</p>
<h3 id="pre">Preview</h3>
<ol class="TestContent">
<?php
if (!isset($_SESSION['datepicker'])){
$_SESSION['datepicker'] = $_POST['datepicker'];
} else {
$Qtxt = $_POST['QuestionBox'];
$Atxt = $_POST['AnswerBox'];
$Date = $_SESSION['datepicker'];
// Add data to QA_Data
if($Qtxt != "" and $Atxt != ""){
add_QA($Qtxt, $Atxt, $Date);
}
}
// Preview the questions
QA_preview();
?>
</ol>
先谢谢你们!